gpt4 book ai didi

regex - 如何在保持大写的同时替换文本?

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

假设我想用以下内容替换文件上的字符串

name
nAmE
naMEbb
NAME

并想用“dave”替换“name”这个词,但保留原文的大写。例如,我想要的输出是,
dave
dAvE
daVEbb
DAVE

是否有任何单行程序可以执行此操作(最好在 Perl 中,以便我可以在多个文件中进行就地替换)?

编辑
除非两个字符串的长度完全相同,否则这个问题是不明确的。让我们假设它确实如此。

最佳答案

perlFaq上有一些解决方案:
http://perldoc.perl.org/perlfaq6.html#How-do-I-substitute-case-insensitively-on-the-LHS-while-preserving-case-on-the-RHS ?

那里提出的解决方案之一允许通过定义子例程 (preserve_case) 在一行中执行替换:

   $string = "this is a TEsT case";
$string =~ s/(test)/preserve_case($1, "success")/egi;
print "$string\n";

这打印:这是一个成功的案例

关于regex - 如何在保持大写的同时替换文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7002862/

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