今天在jsp中的js日程安排页面上显示带特殊字符的字符串时,报字符串结束错误,使用replaceAll("\\s+"," ")即可将特殊字符替换掉,前面的语句替换为空格了,也可替换为别的字符。
本来以为还要使用正则表达式和pattern类,但上网查了以后看String本身就能可以替换了,查了api,如下:
replaceAll(String regex, String replacement) :使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
下面是常用的字符:
. | 任何字符(与行结束符可能匹配也可能不匹配) |
\d | 数字:[0-9] |
\D | 非数字: [^0-9] |
\s | 空白字符:[ \t\n\x0B\f\r] |
\S | 非空白字符:[^\s] |
\w | 单词字符:[a-zA-Z_0-9] |
\W |
非单词字符:[^\w]
|
附一个pattern的例子(api文档中的):
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
在仅使用一次正则表达式时,可以方便地通过此类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。语句
boolean b = Pattern.matches("a*b", "aaaaab");