我在一个字符串中有一个长度为0到10,000+字的文本。我还有一个输入字符串input
。如何删除字符串中不以input
开头的所有单词?
例如:
“这是一个包含三十万个口渴的戏剧的字符串。”
input =“th”
我想“这三十个口渴的演员”回来了。我对正则表达式知之甚少,所以我不确定如何处理它。
答案 0 :(得分:2)
这是一个perl解决方案,我希望有一些帮助。
$beginning = "th";
$s = "This is a string containing thirty-trillion thirsty thespians.";
@results = $s =~/\b($beginning\w*)/ig;
print for @results`
它会打印
这三十个口渴的演员
正则表达式执行以下操作:
它开始与单词边界\b
匹配。
($beginning\w*)
会捕获以$beginning
开头,后跟零或更多的字词
字符。括号表示返回括号内匹配的内容。
i
表示它不区分大小写g
表示它遍历整个字符串并返回匹配的所有内容(@results
此处)。