这个问题在这里已经有答案了:
独立数字正则表达式(6个答案)正则表达式查找整词(3个答案)上个月关门了。我想从字符串中删除所有数字,除非它们粘在一个字母上。例如:f5 45,ad12应变成:f5,ad12到目前为止,我已经做到了,这是不多…:
line.replaceAll("[0-9]+", ""))
如果你知道。。。谢谢
2cmtqfgy1#
如果我正确理解了您的用例,应该是这样的:
line.replaceAll("([^a-zA-Z]+)[0-9]+", "$1")
第一位匹配“除了字母a-z以外的任何东西”,其余的匹配数字。第二个参数保留匹配的第一个字符,因此我们不会从输入中删除任何空格或逗号。
wgeznvg72#
\b regexp ese表示“分词”。您可以查找精确的定义,但它可能会做您想做的事情,因为空格和'start or end of string'都算作分词符,而对象本身实际上并不匹配字符(因此,它不会删除这些空格),它的成功与否取决于是否有分词符。因此:
\b
line.replaceAll("\\b[0-9]+\\b", "");
我们应该把它做完。
2条答案
按热度按时间2cmtqfgy1#
如果我正确理解了您的用例,应该是这样的:
第一位匹配“除了字母a-z以外的任何东西”,其余的匹配数字。第二个参数保留匹配的第一个字符,因此我们不会从输入中删除任何空格或逗号。
wgeznvg72#
\b
regexp ese表示“分词”。您可以查找精确的定义,但它可能会做您想做的事情,因为空格和'start or end of string'都算作分词符,而对象本身实际上并不匹配字符(因此,它不会删除这些空格),它的成功与否取决于是否有分词符。因此:
我们应该把它做完。