我有一个文本,例如
my $text = "share your knowledge, Q&A-style"
Run Code Online (Sandbox Code Playgroud)
并希望在列表中获取它们之间的单词和字符.如果我使用
my (@parts) = $text =~ /(\w+)/g
Run Code Online (Sandbox Code Playgroud)
我明白了
("share", "your", "knowledge", "Q", "A", "style")
Run Code Online (Sandbox Code Playgroud)
现在我想得到以下列表:
("share", "your", "knowledge", ",", "Q", "&", "A", "-", "style")
Run Code Online (Sandbox Code Playgroud)
有没有办法在字符旁边循环遍历文本?
通过split在括号中使用并放置正则表达式,它也将返回分隔符.然后使用以下方法删除空白部分(仅包含空格)grep:
use strict;
use warnings;
my $text = "share your knowledge, Q&A-style";
my @parts = grep { /\S/ } split /(\w+)/, $text;
Run Code Online (Sandbox Code Playgroud)