java:regex删除数字

mxg2im7a  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(378)

这个问题在这里已经有答案了

独立数字正则表达式(6个答案)
正则表达式查找整词(3个答案)
上个月关门了。
我想从字符串中删除所有数字,除非它们粘在一个字母上。
例如:f5 45,ad12应变成:f5,ad12
到目前为止,我已经做到了,这是不多…:

line.replaceAll("[0-9]+", ""))

如果你知道。。。谢谢

2cmtqfgy

2cmtqfgy1#

如果我正确理解了您的用例,应该是这样的:

line.replaceAll("([^a-zA-Z]+)[0-9]+", "$1")

第一位匹配“除了字母a-z以外的任何东西”,其余的匹配数字。第二个参数保留匹配的第一个字符,因此我们不会从输入中删除任何空格或逗号。

wgeznvg7

wgeznvg72#

\b regexp ese表示“分词”。您可以查找精确的定义,但它可能会做您想做的事情,因为空格和'start or end of string'都算作分词符,而对象本身实际上并不匹配字符(因此,它不会删除这些空格),它的成功与否取决于是否有分词符。
因此:

line.replaceAll("\\b[0-9]+\\b", "");

我们应该把它做完。

相关问题