如果我有一个包含数字和字符的字符串,并且我想用某个字符替换数字,我可以使用替换为regualr表达式。但是它会用该字符替换每个数字。改变这种行为的最佳方法是什么?
b
参见上面的代码。如果我要输入jsahdk1283,它会返回jsahdk ::::,当我只想要jsahdk:。这可能吗?
谢谢, 本
答案 0 :(得分:1)
在评论中提及RC和TheLostMind时,您应该使用这样的量词:
firstname1 = firstname1.replaceFirst("[^A-Za-z]+", ":");
此处,字符类后面的+
表示"一个或多个"。
请注意,[^A-Za-z]
将匹配任何非英文字母的内容,例如重音字符和标点符号。因此,最好使用\d
。
firstname1 = firstname1.replaceFirst("\\d+", ":");