我有一個字串,其中此字串 phonenumber={9 位或 0 位,只是這兩個選項} 重復多次,我想要做的是獲取一個正則運算式模式來匹配此字串并將其替換為空字串。
我試過了,但沒有用,我不知道問題是模式還是我試圖從基本字串中替換所有“phonenumber = {9 digits}”的方式:
var result =baseString.toString().lowercase().replace(Regex("\\\\bphonenumber=\\\\b\\d{9}"),"")
uj5u.com熱心網友回復:
該正則運算式存在以下問題:
- 正則運算式將看到
\\b而不是\b,因此在字串文字中您只需要添加一層轉義:"\\b"。或者,使用原始字串文字(帶"""分隔符),然后沒有轉義。 - 第二個
\b發生在不需要它的地方,因為它位于=一個數字之間。你會希望\b把它放在數字模式之后。 - 當有 0 個數字時,沒有匹配的規定。為此,您可以將 9 位數字設為可選
?
所以:
Regex("""\bphonenumber=(?:\d{9}\b)?""")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/518417.html
標籤:安卓正则表达式科特林
下一篇:實時更改文本
