簡體   English   中英

replaceAll在字符串上無法按預期工作

[英]replaceAll not working as expected on a String

我有以下代碼行: temp5.replaceAll("\\\\W", "");

此時temp5的內容為: [1, 2, 3, 4]但正則表達式不會刪除任何內容。 當我執行toCharArray()時,我最終得到以下結果: [[, 1, ,, , 2, ,, , 3, ,, , 4, ]] ,,,,, [[, 1, ,, , 2, ,, , 3, ,, , 4, ]]

我沒有正確使用正則表達式嗎? 我的印象是\\ W應該刪除所有標點符號和空格。

注意:temp5是一個字符串

我剛剛使用\\ w,\\ W和其他各種工具進行了測試。 所有人的輸出相同

字符串是不可變的。 replaceAll()返回具有所做更改的字符串,它不會修改temp5 因此,您可以改為執行以下操作:

temp5 = temp5.replaceAll("\\W", "");

之后, temp5將為"1234"

    String temp5="1, 2, 3, 4";

    temp5=temp5.replaceAll("\\W", "");

    System.out.println(temp5.toCharArray());

這會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM