我有以下代码行: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"

07-27 18:48