![](/img/trans.png)
[英]Remove all special characters from a string except for digits and the degree symbol?
[英]Regex to remove all special characters except periods
我需要幫助創建一個刪除所有特殊字符(包括逗號,但不包括句點)的正則表達式。 我試圖做的是轉義所有我不想要的字符、符號和標點符號。 它沒有按預期工作。
replace("[-\\[\\]^/,'*:.!><~@#\$%+=?|\"\\\\()]+".toRegex(), "")
我刪除了期間並對其進行了測試。 這沒用。
replace("[-\\[\\]^/,'*:!><~@#\$%+=?|\"\\\\()]+".toRegex(), "")
例如,讓我們使用字符串“if {cat.is} in a hat, then I eat green egg and ham!”。
我想要結果
if {cat.is} in a hat then I eat green eggs and ham
(去掉逗號和感嘆號)
注意:我想保留括號,盡管可以省略括號。
任何人都有解決方案?
您可以使用
"""[\p{P}\p{S}&&[^.]]+""".toRegex()
[\\p{P}\\p{S}&&[^.]]+
模式匹配一個或多個 ( +
) 標點符號 ( \\p{P}
) 或符號 ( \\p{S}
) 字符而不是點 ( &&[^.]
,使用字符類減法)。
查看Kotlin 演示:
println("a-b)h.".replace("""[\p{P}\p{S}&&[^.]]+""".toRegex(), ""))
// => abh.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.