I’m trying to remove any lines that begin with the character ‘>’ in a long string (i.e. replies to an email).
In PHP I’d iterate over each line with an if statement, in linux I’d try and use sed or awk.
What’s the most elegant rails approach?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Your question is implying that the input is one string, containing multiple lines.
Do you want the output to be just one string with multiple lines as well? I’m assuming yes.
either using String and Array operations:
or using Regular Expressions:
Better Solution:
You will need to use non-greedy multi-line matching mode for your Regular Expression:
^> matches your “>” character at the start of a line
.*?$ matches any characters after the start character until the end of the line (non-greedy)
\n* matches the newline character itself if any (you want to remove that as well)
the “m” at the end of the regular expressions indicates multi-line matching , which will apply the RegExp for each line in the string.