2

我有一个字符串,例如"kdf343kkkk4k4". 我需要找到这个字符串上的数字并用特定字符替换一个数字,比如'X'. 输出应该是这样的"kdfXXXkkkkXkX"

每个数字都应替换为'X'

343 = XXX

我尝试使用正则表达式替换,但它全部替换。

343 = X

我正在使用以下正则表达式:

x.replaceAll("([0-9])+", "X");

请向我解释如何做到这一点。

4

3 回答 3

7

用这个:

x = x.replaceAll("\\d", "X");

您不需要+,您可以使用它指定“一个或多个”数字将被单个 X 替换

于 2013-07-20T13:52:21.773 回答
3

在您的正则表达式中删除+ symbol

IE

x.replaceAll("([0-9])", "X");

并且不要忘记重新分配它,因为 String 在 java 中是不可变的

  x= x.replaceAll("([0-9])", "X");
于 2013-07-20T13:53:46.197 回答
0

方法一:

String name = "Test656887";
name = name.replaceAll("[0-9]","X");
System.out.println(name);

方法二:

 String name = "Test656887";
 name = name.replaceAll("\\d","X");
 system.out.println(name);
于 2018-05-31T17:13:10.813 回答