0

我在一个字符串中有一个 0 到 10,000+ 字长的文本。我也有一个输入字符串input。如何删除字符串中不以 开头的所有单词input

前任:

“这是一串包含三十万亿口渴的演员的字符串。”

输入 = “th”

我希望“这三十个口渴的演员”回归。我对正则表达式知之甚少,所以我不确定如何解决这个问题。

4

1 回答 1

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此处)。

于 2013-02-15T18:09:59.863 回答