用于将数字替换为字符的正则表达式

时间:2013-07-20 13:50:30

标签: java regex

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

每个号码都应替换为'X'

343 = XXX

我尝试使用正则表达式替换,但它一起替换所有。

343 = X

我使用以下正则表达式:

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

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

3 个答案:

答案 0 :(得分:7)

使用此:

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

您不需要 + ,并指定“一个或多个”数字将替换为单个X

答案 1 :(得分:3)

在正则表达式中删除 + symbol

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

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

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

答案 2 :(得分:0)

方法1:

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

方法2:

 String name = "Test656887";
 name = name.replaceAll("\\d","X");
 system.out.println(name);