簡體   English   中英

如何刪除除兩位數之間的點或逗號以外的所有非字母數字

[英]How to remove all non-alphanumeric except dot or comma between 2 digits

我已經搜索了很長時間,但是不幸的是,正則表達式真的不適合我...

我只想用空格替換2位數(或加號)之間的點或逗號以外的所有非字母數字。

示例: 歡迎使用由Media Temple自豪地托管的gskinner.com的RegExr v2.1! -98.7 3.141 .6180 9,000

成為

歡迎使用Media Temple自豪地主持的gskinner com的RegExr v2.1 98.7 3.141 6180 9,000

我知道這可以刪除所有非字母數字:[^ a-zA-Z0-9],但我只想為兩個數字之間的點或逗號添加例外(我已經在http://regexr.com/上進行了測試)

謝謝你的幫助 ! ;)

嘗試這個:

str = str.replaceAll("[^a-zA-Z0-9 .,]|(?<!\\d)[.,]|[.,](?!\\d)", "");

正則表達式匹配

  • 您絕對不想要的一切,或者
  • 帶數字的點/逗號,或
  • 點號/逗號后沒有數字
[a-zA-Z ]|\d([\.,]\d)?

上面將選擇您想要保留的文本。

它選擇字母字符+空格和數字,並可選地嵌入。和。 '|' 用作布爾OR。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM