我有以下代码行:temp5.replaceAll("\\W", "");
此时temp5的内容为:[1, 2, 3, 4]
,但正则表达式不会删除任何内容。当我执行toCharArray()时,结果如下:[[, 1, ,, , 2, ,, , 3, ,, , 4, ]]
我没有正确使用正则表达式吗?我的印象是\ W应该删除所有标点符号和空格。
注意:temp5是一个字符串
我刚刚使用\ w,\ W和其他各种工具进行了测试。所有人的输出相同
最佳答案
字符串是不可变的。 replaceAll()
返回具有所做更改的字符串,它不会修改temp5
。因此,您可以改为执行以下操作:
temp5 = temp5.replaceAll("\\W", "");
之后,
temp5
将是"1234"
。