[英]Remove special characters in the string in java?
如何刪除字符串中除“ - _”之外的特殊字符。 現在我使用:
replaceAll("[^\\w\\s]", "")
它刪除所有特殊字符,但我想保留“ - _”。 誰能告訴我該怎么辦?
使用replaceAll("[^\\\\w\\\\s\\\\-_]", "");
我所做的是在正則表達式中添加下划線和連字符。 我在連字符之前添加了\\\\
因為它也用於指定范圍: az
表示a和z之間的所有字母。 用\\\\
轉義它確保它被視為連字符。
這可能有所幫助:
replaceAll("[^a-zA-Z0-9_-]", "");
我懷疑你需要分配結果(如果你不這樣做),因為replaceAll()
返回一個新的字符串,而不是更新字符串(String是不可變的):
str = str.replaceAll("[^\\w\\s-]", "");
另請注意,正則表達式非常簡單:
無需轉義破折號-
在字符類中:當在字符類中用作文字時,它必須是第一個或最后一個(否則它表示范圍 ,如az
等)。
根本沒有必要提到下划線,因為它已經列出: \\w
包括下划線字符!
String str="owl@134_- abc";
String s=str.replaceAll(" [^a-zA-Z_-]+ ", "");
System.out.println(str);
它將替換給定字符串中的特殊字符和空格。
輸出將是: owlabc_-
使用此replaceAll("[\\\\w\\\\s\\\\-\\\\_\\\\<.*?>]", "")
;
Pattern pt = Pattern.compile("[^a-zA-Z0-9_-]");
Matcher match = pt.matcher(c);
while (match.find()) {
String s = match.group();
c = c.replaceAll("\\" + s, "");
}
考慮一下
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.