亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式刪除java中的特殊字符

正則表達式刪除java中的特殊字符

MYYA 2023-12-13 16:25:56
我有一個包含幾個特殊字符的字符串,只需刪除幾個特殊字符(~ 和 `)。我已經編寫了下面的代碼,但是當我打印分割的字符串時,值也變空。String str = "ABC123-xyz`~`XYZ 1.7A";String[] str1= varinaces.split("[\\~`]");        for(int i=0; i< str1.length ; i++){            System.out.println("str==="+ parts[i] );        }輸出:str===ABC123-xyz str=== str=== str===XYZ 1.7A為什么空字符串也打印在這里?
查看完整描述

3 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

這是因為當您使用該.split()方法時,它會返回一個包含 4 個項目的 String 數組,如下所示:


String[4] { "ABC123-xyz", "", "", "XYZ 1.7A" }

然后在for循環中打印該數組的所有項目。您可以使用以下方法來解決它:


for(int i=0; i< str1.length ; i++){

if(parts[i].compareTo("") > 0) {

    System.out.println("str==="+ parts[i] );

}           

}


查看完整回答
反對 回復 2023-12-13
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

您正在拆分一個特殊字符...拆分為 1 個或多個

String[] str1= varinaces.split("[~`]+");

另請注意,蒂爾達~不需要轉義。


查看完整回答
反對 回復 2023-12-13
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

split 方法返回正則表達式的每個匹配項周圍的內容。您的正則表達式[~`], 匹配單個字符“~”或“`”。字符串中由該正則表達式的匹配項分隔的部分確定如下:

返回字符串“ABC123-xyz”,因為它是在字符“`”處從給定字符串中分離出來的。在該字符和下一個匹配項之間“~”是空字符串,依此類推。如果你想讓它匹配更多,使用[~`]+


查看完整回答
反對 回復 2023-12-13
  • 3 回答
  • 0 關注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號