我有这行代码:temp5.replaceAll("\\W", "");
此时temp5的内容为:[1, 2, 3, 4]
,但正则表达式不会删除任何内容。当我做一个toCharArray()时,我最终得到了这个:[[, 1, ,, , 2, ,, , 3, ,, , 4, ]]
我没有正确使用正则表达式吗?我的印象是\ W应该删除所有标点符号和空格。
注意:temp5是一个String
我刚刚使用\ w,\ W和其他各种测试。所有这些的输出相同
答案 0 :(得分:4)
字符串是不可变的。 replaceAll()
返回包含所做更改的字符串,但不会修改temp5
。所以你可能会这样做:
temp5 = temp5.replaceAll("\\W", "");
之后,temp5
将为"1234"
。
答案 1 :(得分:0)
String temp5="1, 2, 3, 4";
temp5=temp5.replaceAll("\\W", "");
System.out.println(temp5.toCharArray());
这将有助于