W
Wes Gamble
I have an HTML file that is in a string.
I want to use gsub! to recursively remove any embedded newlines and
whitespace within two known delimeters.
Given a string that includes this kind of string:
~^LNK:http://slashdot.org/login.pl?op=newuserform~
Create a new account
^~
I want to replace the above with:
~^LNK:http://slashdot.org/login.pl?op=newuserform~Create a new account^~
(stripping out the newlines and whitespace)
Having trouble writing the regex for this.
I think I want something like:
/~\^LNK:.*?([\s\r\n])+.*?\^~/
that I could use in:
str.gsub!(/~\^LNK:.*?([\s\r\n])+.*?\^~/, '')
to replace all of the whitespace, or potential newline characters with
null strings.
But I don't think this will work because I really need to loop _within_
each substring of my large HTML string. The thing about gsub is that it
will substitute the entire matched string.
Do I need to scan out the ~^LNK.*?^~, operate on those and then put them
back into the larger string?
I'm not sure I'm asking this very well, so I apologize if that's the
case.
Thanks,
Wes
I want to use gsub! to recursively remove any embedded newlines and
whitespace within two known delimeters.
Given a string that includes this kind of string:
~^LNK:http://slashdot.org/login.pl?op=newuserform~
Create a new account
^~
I want to replace the above with:
~^LNK:http://slashdot.org/login.pl?op=newuserform~Create a new account^~
(stripping out the newlines and whitespace)
Having trouble writing the regex for this.
I think I want something like:
/~\^LNK:.*?([\s\r\n])+.*?\^~/
that I could use in:
str.gsub!(/~\^LNK:.*?([\s\r\n])+.*?\^~/, '')
to replace all of the whitespace, or potential newline characters with
null strings.
But I don't think this will work because I really need to loop _within_
each substring of my large HTML string. The thing about gsub is that it
will substitute the entire matched string.
Do I need to scan out the ~^LNK.*?^~, operate on those and then put them
back into the larger string?
I'm not sure I'm asking this very well, so I apologize if that's the
case.
Thanks,
Wes