2014-05-18 255 views

回答

2

您可以使用\S在這裏拆分,意味着匹配任何非空白字符。

my @list = split /\S+/, $string; 

或者更好的是,只需匹配您的空白而不必拆分。

my @list = $string =~ /\s+/g; 
+0

太棒了!謝謝:) – SomethingSomething

+0

這看起來是最好的答案,特別是因爲他擊敗了我的第二個選項,這可能是最好的。 – vol7ron

1

\S拆分任何非空白。 但是,如果要包含製表符和換行符,則應使用(單個字符空格)。 \S可能與hwnd提供的不同。

my $string = q{The quick brown fox jumps over the lazy dog}; 
my @values = split /[^ ]+/, $string; 
+0

它返回空列表 – SomethingSomething

+0

它不應該,但我忘了重複'+'運算符 – vol7ron

0

爲什麼不只是尋找空格而不是非空格字符分裂?
pattern = (\s+)Demo

相關問題