J
junk5
Hi all
I have the string '1 20 3 400 5 60 7 800 9 0 ' and need to replace
every n-th space in the string with another character. So if n=2 and
the replacement character is '\n', then the above would become
'1 20\n3 400\n5 60\n7 800\n9 0\n'.
I'm sure it must be possible (easy, even) to do this with a regex
substitution, but unfortunately I'm no regex ninja.
So far I have:
'1 20 3 400 5 60 7 800 9 0 '.sub(/(\d* \d* )/) {|s| s + "\n"}
=> "1 20 \n3 400 5 60 7 800 9 0 "
But how do I get the substitution to be 'repeated'? Changing the regexp
to /(\d* \d*)*/ does not do what I want.
Also, I'm planning to run this on a large string, so I'd like it to be
efficient if possible.
Thanks in advance
C
I have the string '1 20 3 400 5 60 7 800 9 0 ' and need to replace
every n-th space in the string with another character. So if n=2 and
the replacement character is '\n', then the above would become
'1 20\n3 400\n5 60\n7 800\n9 0\n'.
I'm sure it must be possible (easy, even) to do this with a regex
substitution, but unfortunately I'm no regex ninja.
So far I have:
'1 20 3 400 5 60 7 800 9 0 '.sub(/(\d* \d* )/) {|s| s + "\n"}
=> "1 20 \n3 400 5 60 7 800 9 0 "
But how do I get the substitution to be 'repeated'? Changing the regexp
to /(\d* \d*)*/ does not do what I want.
Also, I'm planning to run this on a large string, so I'd like it to be
efficient if possible.
Thanks in advance
C