如何删除除 2 位数字之间的点或逗号之外的所有非字母数字
How to remove all non-alphanumeric except dot or comma between 2 digits
我找了很久,可惜正则表达式真的不适合我...
我只想用 space.
替换 2 位数字(或加号)之间的点或逗号以外的所有非字母数字
示例:
欢迎使用 gskinner.com 的 RegExr v2.1,由 Media Temple 自豪地主办! -98.7 3.141 .6180 9,000
成为
欢迎使用由 Media Temple 98.7 3.141 6180 9,000
主办的 gskinner com 提供的 RegExr v2.1
我知道这可以删除所有非字母数字:[^a-zA-Z0-9]
但我只想在 2 个数字之间添加点或逗号的例外(我已经测试 http://regexr.com/)
感谢您的帮助! ;)
[a-zA-Z ]|\d([\.,]\d)?
以上将 select 您希望保留的文本。
它 selects 字母字符 + 空格和数字,可选择嵌入 .'s 和 ,'s. '|'用作布尔 OR。
试试这个:
str = str.replaceAll("[^a-zA-Z0-9 .,]|(?<!\d)[.,]|[.,](?!\d)", "");
正则表达式匹配
- 您绝对不想要的一切,或者
- a dot/comma 不 前面有数字,或
- a dot/comma not 后跟数字
我找了很久,可惜正则表达式真的不适合我...
我只想用 space.
替换 2 位数字(或加号)之间的点或逗号以外的所有非字母数字示例: 欢迎使用 gskinner.com 的 RegExr v2.1,由 Media Temple 自豪地主办! -98.7 3.141 .6180 9,000
成为
欢迎使用由 Media Temple 98.7 3.141 6180 9,000
主办的 gskinner com 提供的 RegExr v2.1我知道这可以删除所有非字母数字:[^a-zA-Z0-9] 但我只想在 2 个数字之间添加点或逗号的例外(我已经测试 http://regexr.com/)
感谢您的帮助! ;)
[a-zA-Z ]|\d([\.,]\d)?
以上将 select 您希望保留的文本。
它 selects 字母字符 + 空格和数字,可选择嵌入 .'s 和 ,'s. '|'用作布尔 OR。
试试这个:
str = str.replaceAll("[^a-zA-Z0-9 .,]|(?<!\d)[.,]|[.,](?!\d)", "");
正则表达式匹配
- 您绝对不想要的一切,或者
- a dot/comma 不 前面有数字,或
- a dot/comma not 后跟数字