我在 perl 变量中有一个很长的字符串,它有 500 多个单词。
$mytext = "This text goes on and on and on........";
基本上,这个冗长的字符串可以包含任何东西,包括各种特殊字符。它可以包括特殊字符(例如撇号 - 它是 cleo 业务的一个部门)、数字(例如 - 于 2001 年 8 月 2 日成立)、逗号、分号和撇号(例如 - 通过其不同部门的业务收入)、特殊字符(像'&',单引号和双引号)
我的要求是从字符串的开头提取特定数量的单词(不是字符)。例如,我可能需要选择前 200 个单词。
我知道有一个内置
substr
功能:substr($mytext, $start, $length)
但它提取了字符数。
我怎样才能提取字数呢?
最佳答案
你可以用 the split
function 来做到这一点:
\W+
每次遇到非单词字符(或此类字符的序列)时都会拆分字符串 代码 :
my $mytext = "This text goes on and on and on........";
my $nb_words = 20;
my @words = split(/\W+/, $mytext, $nb_words + 1);
pop @words; # the last item contains the remaining of the string
关于regex - Perl - 从字符串中捕获特定数量的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53934439/