Given strings
s1 = "abcfoodefbarghi"
and
s2 = "abcbardefooghi"
How can I split s1 into “abc” and “defbarghi”
and s2 into “abc” and “defooghi”
That is: split a string into two on the first occurrence of either one of strings “foo” or “bar”
I suppose this could be done with s.split(/regexp/), but what should this regexp be?
Use a Regular Expression in this way:
Explanation of the RE:
[\S\s]*?matches just enough characters to match the next part of the RE, which is(foo|bar)either “foo”, or “bar”[\S\s]*matches the remaining charactersParentheses around a part of a RE creates a group, so that the grouped match can be referred, while
(?:)creates a non-referrable group.