gpt4 book ai didi

java - 我想用 Java 中的 String replaceAll 方法用新值替换整个 String

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:06:18 26 4
gpt4 key购买 nike

String x = "Welcome to Java World";
System.out.println(x.replaceAll(".*","JAVA"));
Actual Output = "JAVAJAVA" .
Excepted Output = "JAVA".

任何人都可以帮助它为什么这样替换。 ".*"原始字符串中的所有字符并将其替换为 "JAVA"。为什么这会返回“JAVAJAVA”。

最佳答案

您的正则表达式可以将 0 匹配到所有字符。首先,它匹配整个字符串 "Welcome to Java World",然后它匹配字符串的结尾 "",将两者替换为 "JAVA".

要让这项工作如您所愿,您有几个选择。

String x = "Welcome to Java World";
System.out.println(x.replaceAll(".+","JAVA"));

注意 + 而不是 *,这表示 1 或多个,因此不会匹配末尾。

String x = "Welcome to Java World";
System.out.println(x.replaceFirst(".*","JAVA"));

这只会用"JAVA"替换整个字符串,不会替换字符串的空尾。

关于java - 我想用 Java 中的 String replaceAll 方法用新值替换整个 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449198/

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