我有這樣一個字符串:"abc" "cd - e"
。我需要把這個分成兩個以下字符串:具有雙引號和空格的Perl拆分字符串
-
"cd - e"
我試過在Perl的幾個選項,但不能滿足我需要的。有人可以指導我嗎?謝謝。
我有這樣一個字符串:"abc" "cd - e"
。我需要把這個分成兩個以下字符串:具有雙引號和空格的Perl拆分字符串
"cd - e"
我試過在Perl的幾個選項,但不能滿足我需要的。有人可以指導我嗎?謝謝。
my @strings = $input =~ /"[^"]*"/g;
您可以在這是由一個"
前面和後面一個"
空格分開:
use strict;
use warnings;
my $s = '"abc" "cd - e"';
my @matches = split /(?<=")\s+(?=")/, $s;
# "abc"
# "cd - e"
良好的學習......它完美:-) – user2705120 2015-03-13 20:27:41
如果你的輸入會專門有兩個字符串作爲你的建議(而不是任意ñ串),那麼這應該工作:
$s = '"abc" "cd - e"';
$s =~ /(".*") (".*")/;
$s1 = $1;
$s2 = $2;
或者你可以讓它多了幾分安全與「取代.
沒有正引號」,即[^"]
:
$s =~ /("[^"]*") ("[^"]*")/;
$s1 = $1;
$s2 = $2;
也:http://perldoc.perl.org/Text/ParseWords.html – jm666 2015-03-13 20:11:59