我搜索了很长时间,但不幸的是,正则表达式真的不适合我...
我只想用2位数(或加号)之外的空格替换除点或逗号之外的所有非字母数字。
示例: 欢迎来到gskinner.com的RegExr v2.1,由Media Temple自豪地举办! -98.7 3.141 .6180 9,000
成了
欢迎来到gskinner com的RegExr v2.1,由Media Temple 98.7 3.141 6180 9,000自豪地主持
我知道这可以删除所有非字母数字:[^ a-zA-Z0-9] 但我只想在两个数字之间添加点或逗号的例外(我在http://regexr.com/上测试)
感谢您的帮助! ;)
答案 0 :(得分:5)
试试这个:
str = str.replaceAll("[^a-zA-Z0-9 .,]|(?<!\\d)[.,]|[.,](?!\\d)", "");
正则表达式匹配
答案 1 :(得分:1)
[a-zA-Z ]|\d([\.,]\d)?
以上将选择您想要保留的文字。
它选择字母字符+空格和数字,可选择嵌入。的和,和。 '|'作为布尔OR。