用一个字符替换任何数字序列

时间:2016-09-30 16:38:33

标签: java regex replace

如果我有一个包含数字和字符的字符串,并且我想用某个字符替换数字,我可以使用替换为regualr表达式。但是它会用该字符替换每个数字。改变这种行为的最佳方法是什么?

b

参见上面的代码。如果我要输入jsahdk1283,它会返回jsahdk ::::,当我只想要jsahdk:。这可能吗?

谢谢, 本

1 个答案:

答案 0 :(得分:1)

在评论中提及RCTheLostMind时,您应该使用这样的量词:

firstname1 = firstname1.replaceFirst("[^A-Za-z]+", ":");

此处,字符类后面的+表示"一个或多个"。

请注意,[^A-Za-z]将匹配任何非英文字母的内容,例如重音字符和标点符号。因此,最好使用\d

firstname1 = firstname1.replaceFirst("\\d+", ":");