如何在匹配原始字符串大小写的同时替换字符串中的字符?



基本上我想要:

HellO MY NamE IS BilL

假设我们想用标签替换名称 所以输出是:

HellO MY tag IS BiLL

我已经在这个网站上看到了比较以及使整个字符串小写然后进行比较的常用方法,但如果我这样做,那么我将丢失原始字符串的大小写值。下面是一个更广泛的示例:

text=text.replaceAll(words, replacementWords);

.compareToIgnoreCase(str)也不起作用,因为它正在比较字符串

尝试执行不区分大小写的替换所有:

String input = "HellO MY NamE IS BilL";
String output = input.replaceAll("(?i)\bname\b", "tag");
System.out.println(output);
HellO MY tag IS BilL

我们还应该在搜索时在name周围放置单词边界,以避免不正确的替换,例如在surname上进行替换,这不是我们想要的。

这将以不区分大小写的方式搜索"name"并将其替换为"tag":-

str = str.replaceAll("(?i)name", "tag");

最新更新