String s="ram123";
System.out.println(s);
/* You don't need the + because you are using the replaceAll method */
s = s.replaceAll("\\d", ""); // or you can also use [0-9]
System.out.println(s);
String name = "ram varma656887";
name = name.replaceAll("[0-9]","");
System.out.println(name);//ram varma
或者,您可以执行以下操作
String name = "ram varma656887";
name = name.replaceAll("\\d","");
System.out.println(name);//ram varma
given这样的东西也会对你起作用
String given = "ram varma656887";
String[] arr = given.split("\\d");
String data = new String();
for(String x : arr){
data = data+x;
}
System.out.println(data);//ram varma
6条答案
按热度按时间vh0rcniy1#
选择所有数字的正确RegEx应该是
[0-9]
,您可以跳过+
,因为您使用的是replaceAll
。但是,您对
replaceAll
的使用是错误的,它的定义如下:replaceAll(String regex, String replacement)
。示例中的正确代码应为:replaceAll("[0-9]", "")
.50few1ms2#
您可以使用以下正则表达式:
\d
用于表示数字。在您使用的正则表达式中,您有一个^
,它将检查字符集0-9
以外的任何字符brccelvz3#
要删除这些数字,下面的代码可以做到这一点。
7rtdyuoh4#
请按以下步骤操作
或者,您可以执行以下操作
given这样的东西也会对你起作用
xxhby3vn5#
我想你漏掉了replace all的第二个参数。你需要把一个空字符串作为参数2,而不是实际上让它为空。
尝试
nkhmeac66#
你可以使用Java的字符串replaceAll()方法。2这个方法用给定的替换来替换这个字符串中与给定正则表达式匹配的每个子字符串。
regex--与该字符串匹配的正则表达式。
replacement-将替换找到的表达式的字符串。
此方法返回结果字符串。
对于您的问题,请使用以下内容