java - 如何将Java中字符串上的所有 'x'替换为数字

标签 java regex

<分区>

我目前无法将字符串中所有出现的“x”替换为数字。

我已经尝试过: myString.replace('x',Integer.toString(i)) 和类似的东西,用“x”,而不是整数到字符串,替换引号中的数字,它不起作用,字符串保持不变。

然后我做了以下功能:

public static void trocaXporDouble(String a, double c){
            int i;
            for(i=0;i<a.length();i++){
                if(a.charAt(i)=='x'){
                    String newStr1 = a.substring(0,i-1);
                    String newStr = a.substring(i+1,a.length());
                    newStr1.concat(Double.toString(c));
                    newStr1.concat(newStr);
                }
            }
}

但即使有了那个功能,它仍然无法正常工作,有人可以帮我吗?

提前致谢。

最佳答案

与 C 不同,在 java 中字符串是 immutable - 您无法更改它们:调用 replace() 创建一个包含所做更改的字符串。

相反,您需要将 replace() 回调的结果分配给变量。

myString.replace("x", "9"); // does nothing to myString

myString = myString.replace("x", "9"); // works

关于java - 如何将Java中字符串上的所有 'x'替换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827428/

相关文章:

Java - 正则表达式,分别替换

java - 提取第一个特殊字符后的字符串

java - WordSearch 类的 boolean 问题

javascript - 正则表达式 - 允许使用字母、撇号、句点、逗号和连字符

正则表达式:抓取引号之间的值

regex - Emacs 调用对齐正则表达式

java - 如何隐藏(取消)隐藏 SWT TableItem?

java - 对应 Google Client API for Java 的全局 HTTP 批处理端点更改

java - INSERT ELSE UPDATE 没有主键的表中的行

python - python 的正则表达式更改一组字符