Re: Parsing text



A pipe is one of the special regex characters--it does not stand for a
literal pipe. A pipe is used in a regex to mean 'OR'.

There several other ways to escape the special regex characters, so that
they will lose their special meaning and match themselves:

1) You can use a backslash to escape the pipe.

2) You can put the pipe in a character class:

str = ">ruby ruby |ruby|ruby ruby|text_i_want| test test"

pieces = str.split(/[|]/)
puts pieces[3]

--output:--
text_i_want

3) You can call Regexp.escape to escape any special regex characters
contained in the string, so that they lose their special meaning:

str = ">ruby ruby |ruby|ruby ruby|text_i_want| test test"

pattern = "|"
esc_str = Regexp.escape(pattern)

pieces = str.split(/#{esc_str}/)
puts pieces[3]

--output:--
text_i_want

--
Posted via http://www.ruby-forum.com/.

.