动态将子字符串包装在引号中

时间:2019-02-24 21:12:31

标签: regex

假设我们有一个可变大小的数组,其中包含字符串for tag in tags: print(t[‘href’])

我们还有一个字符串["duck", "goose", "seal", "otter"],然后需要将该字符串呈现为redduckalphavolcanobetastringsealgoosegreenblueduck

大体上,我对正则表达式不甚了解,甚至无法弄清楚该操作的名称,所以如果这是重复的,我感到抱歉。

1 个答案:

答案 0 :(得分:0)

这是Perl中的解决方案:

use strict;
use warnings;
use Data::Munge qw(list2re);

my $words = ["duck", "goose", "seal", "otter"];

my $string = "redduckalphavolcanobetastringsealgoosegreenblueduck";

my $regex = list2re @$words;
$string =~ s/($regex)/"$1"/g;
print $string, "\n";

输出:

red"duck"alphavolcanobetastring"seal""goose"greenblue"duck"

繁重的工作由Data::Munge::list2re完成,它将字符串列表转换为与任何这些字符串匹配的正则表达式。

其余都是简单的搜索/替换操作。

Live demo