String x = "Welcome to Java World";
System.out.println(x.replaceAll(".*","JAVA"));
Actual Output = "JAVAJAVA" .
Excepted Output = "JAVA".
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助它取代这样的原因.".*"原始字符串中的所有字符,并将其替换为"JAVA".为什么这会返回"JAVAJAVA".
Nic*_*vey 13
您的正则表达式可以匹配0到所有字符.首先,它匹配整个字符串"Welcome to Java World",然后匹配字符串的结尾"",替换为"JAVA".
为了使这项工作符合您的预期,您有几种选择.
String x = "Welcome to Java World";
System.out.println(x.replaceAll(".+","JAVA"));
Run Code Online (Sandbox Code Playgroud)
注意+而不是*,这意味着1或多,所以结束将不匹配.
要么
String x = "Welcome to Java World";
System.out.println(x.replaceFirst(".*","JAVA"));
Run Code Online (Sandbox Code Playgroud)
这只会替换整个字符串,不会替换字符串"JAVA"的空端.
| 归档时间: |
|
| 查看次数: |
5235 次 |
| 最近记录: |