in reply to Split String after nth occurrence of a charater
I'm not sure if this is anything like what you are aiming at. It uses a global match to find the whitespace positions then substr to divide the string.
knoppix@Microknoppix:~$ perl -E ' > $str = q{one word two spaces four spaces one}; > push @posns, [ $-[ 0 ], $+[ 0 ] ] while $str =~ m{\s+}g; > say qq{@$_} for @posns; > # Split string at fourth gap. > $left = substr $str, 0, $posns[ 3 ]->[ 0 ]; > $right = substr $str, $posns[ 3 ]->[ 1 ]; > say qq{>$left<}; > say qq{>$right<};' 3 4 8 10 13 14 20 24 28 31 37 38 >one word two spaces< >four spaces one< knoppix@Microknoppix:~$
I hope this is helpful.
Cheers,
JohnGG
|
|---|