我正在嘗試使用正則表達式更改電話號碼格式。以下示例顯示了原始格式是什么以及應(yīng)如何更改它:(216) 765 8765 ---> 電話: 216-7658765我嘗試使用以下代碼:data = data.replaceAll("([0-9]{3})|([\\s\\./0-9])*$","$1"+"-"+"$2");但這并不能解決問題。
2 回答

胡說叔叔
TA貢獻1804條經(jīng)驗 獲得超8個贊
你的正則表達式是錯誤的:)你應(yīng)該得到一些關(guān)于錯誤轉(zhuǎn)義序列的編譯錯誤。
首先是你的錯誤:
您對 (216) 的第一個匹配在技術(shù)上是正確的,但為了使 () 刪除,您還需要在其中進行匹配:
\(([0-9]{3})\)
你的第二場比賽有點搞砸了:)首先,如果你要在字符串中使用 \s,大多數(shù)語言會認(rèn)為你想轉(zhuǎn)義“s”。所以大多數(shù)時候你需要轉(zhuǎn)義 \ 本身。所以\s
我不知道管子是什么| 是為了,但你可以把它變成一個空間。
工作示例:
data.replaceAll("\\(([0-9]{3})\\) ([\\s0-9]+)*$","$1-$2")
https://code.sololearn.com/cVRUy2BwauK8#java
添加回答
舉報
0/150
提交
取消