From: 7stud -- Date: 2011-04-22T11:20:19+09:00 Subject: 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/.