| | Re: Strip surplus white space with Perl
|
|
(...) What about something like while ($string =~ s/(\s\s+)/substr($&,1,1)/e) {} ? That should replace all whitespace ([ \t\n\r\f]) that's repeated one or more times (that's the first part of the expression) with the first character matching in that (...) (24 years ago, 29-Oct-00, to lugnet.off-topic.geek)
|
|
| | Re: Strip surplus white space with Perl
|
|
(...) Actually, I think a simpler way is: $string =~ s/(\s)\s+/$1/g; The 'g' option at the end of the regexp will actually just do the replace everywhere in the string that it can, with no real need to loop... Ain't TMTOWTDI great? :) DaveE (24 years ago, 29-Oct-00, to lugnet.off-topic.geek)
|
|
| | Re: Strip surplus white space with Perl
|
|
(...) Ahh, but what happens if you have a carriage return followed by a space? The second method eliminates the space and leaves the carriage return, which isn't what he asked for. He wanted a way to replace multiple instances of similar whitespace (...) (24 years ago, 29-Oct-00, to lugnet.off-topic.geek)
|
|
| | Re: Strip surplus white space with Perl
|
|
(...) I hate replying to myself, but I realize that I pasted the wrong answer into my initial response now, and totally missed the boat on my response to David. Ooops. :) This should do it: $string =~ s/(\t\t+| +|\r\r+|\n\n+|\f\f+)...&,1,1)/eg; Yes, (...) (24 years ago, 29-Oct-00, to lugnet.off-topic.geek)
|
|
| | Re: Strip surplus white space with Perl
|
|
(...) Ahh, but that *is* what he asked for. Fredrik said, "If two consecutive characters are <SPACE> and <RET>, for example, it doesn't matter to me which one is preserved and which one is chopped off." (...) My goodness. I suppose you could do it (...) (24 years ago, 29-Oct-00, to lugnet.off-topic.geek)
|
|
| | Re: Strip surplus white space with Perl
|
|
(...) s/009/011/ oops :) --Todd (24 years ago, 29-Oct-00, to lugnet.off-topic.geek)
|
|
| | Re: Strip surplus white space with Perl
|
|
(...) There are some days when I shouldn't touch a keyboard. I read and reread his initial posting and could have sworn that it said "It *does* matter to me which one..." I think you just went in and edited the message. ;) I guess it's one of those (...) (24 years ago, 29-Oct-00, to lugnet.off-topic.geek)
|
|
| | Re: Strip surplus white space with Perl
|
|
On Sun, Oct 29, 2000 at 10:00:13PM +0000, Christopher Lindsey wrote: [snip] (...) of course, if you're using $&, you don't care about efficiency anyway, so you might as well put your regexp in a while loop. But if you do care about speed, you'd go (...) (24 years ago, 29-Oct-00, to lugnet.off-topic.geek)
|