我想用除空白字符以外的任何字符分割字符串。Perl:除了空白字符串以外的所有字符串
例子:
假設我有一個字符串:
"The quick brown fox jumps over the lazy dog"
我想分裂,並得到空間串名單如下:
[" ", " ", " ", " ", " ", " ", " ", " "]
你能請告訴我該怎麼做?
謝謝!
我想用除空白字符以外的任何字符分割字符串。Perl:除了空白字符串以外的所有字符串
例子:
假設我有一個字符串:
"The quick brown fox jumps over the lazy dog"
我想分裂,並得到空間串名單如下:
[" ", " ", " ", " ", " ", " ", " ", " "]
你能請告訴我該怎麼做?
謝謝!
您可以使用\S
在這裏拆分,意味着匹配任何非空白字符。
my @list = split /\S+/, $string;
或者更好的是,只需匹配您的空白而不必拆分。
my @list = $string =~ /\s+/g;
\S
拆分任何非空白。 但是,如果要包含製表符和換行符,則應使用(單個字符空格)。
\S
可能與hwnd提供的不同。
my $string = q{The quick brown fox jumps over the lazy dog};
my @values = split /[^ ]+/, $string;
它返回空列表 – SomethingSomething
它不應該,但我忘了重複'+'運算符 – vol7ron
爲什麼不只是尋找空格而不是非空格字符分裂?
pattern = (\s+)
Demo
太棒了!謝謝:) – SomethingSomething
這看起來是最好的答案,特別是因爲他擊敗了我的第二個選項,這可能是最好的。 – vol7ron