gpt4 book ai didi

regex - 在Perl中,如何从字符串中删除连续的字符对?

转载 作者:行者123 更新时间:2023-12-04 04:00:39 25 4
gpt4 key购买 nike

我有一个包含成对字符的字符串,我想用一个字符替换每次运行。我怎样才能做到这一点?

这是来自questionofficial FAQ。我们是importing the perlfaq to Stack Overflow

最佳答案

(这是official perlfaq answer,减去所有后续编辑)

您可以使用替换运算符查找字符对(或字符序列)并将其替换为单个实例。在此替换中,我们在(.)中找到一个字符。内存括号将匹配的字符存储在反向引用\g1中,我们使用它来要求相同的内容立即跟随在它后面。我们用$1中的字符替换字符串的那部分。

s/(.)\g1/$1/g; # 5.10 or later
s/(.)\1/$1/g; # earlier versions

我们还可以使用音译运算符 tr///。在此示例中,我们的 tr///的搜索列表端不包含任何内容,但是c选项对其进行了补充,因此包含了所有内容。替换列表也不包含任何内容,因此音译几乎是空手,因为它不会进行任何替换(或更确切地说,将字符替换为自身)。但是, s选项可压缩字符串中重复和连续的字符,因此字符不会出现在自身旁边
my $str = 'Haarlem';   # in the Netherlands
$str =~ tr///cs; # Now Harlem, like in New York

关于regex - 在Perl中,如何从字符串中删除连续的字符对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4376800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com