如何替换除java中的下划线和数字之外的所有特殊字符?

时间:2014-03-07 07:37:38

标签: java

我想将下面的字符串对象BusDetails中的所有特殊字符替换为空白“”除了_(下划线)和java中的数字?

BusDetails=BusDetails.replaceAll("—", "").replaceAll("\\s+","_").replaceAll("ROUTE", "BUS").replaceAll("-", "_");

3 个答案:

答案 0 :(得分:2)

这应该解决它:

BusDetails=BusDetails.replaceAll("(\\W|^_)*", "");

模式(\\W|^_)匹配任何非单词字符。此外,它不包括_

答案 1 :(得分:0)

BusDetails=BusDetails.replaceAll("[^_0-9]+", "");

这保留整数但不是小数(为此添加“。”)

答案 2 :(得分:0)

BusDetails = BusDetails.replaceAll("[^a-zA-Z0-9_-]", "");

使用正则表达式模式"[^a-zA-Z0-9_-]",我们可以替换字母,数字和'_'之外的所有特殊字符(符号)。