替换字符串中的空格、换行符、制表符:
@Test
public void test01() {
Pattern pattern = Pattern.compile("\\s|\n|\t|\r|[.]|[:]|[-]");//替换空格(包括多个连续空格)、换行符、制表符、-、:
System.out.println(pattern.matcher("2018.03.26 18:10:10").replaceAll(""));
System.out.println(pattern.matcher("2018-03-26 18:10:10").replaceAll(""));
}
System.out.println(pattern.matcher("2018.03.26 18:10:10").replaceAll(""));
System.out.println(pattern.matcher("2018-03-26 18:10:10").replaceAll(""));
}
结果
20180326181010
20180326181010
Java中表示空格和数字的正则表达式:
1、表示空格 " \\s", "[ ]", "[\\s]"; 表示多个空格"\\s+", "[ ]+", "[\\s]+"
2、表示数字 "\\d", "[\\d]", "[0-9]"; 表示多个数字,同理,在后面加上"+"
替换字符串中的英文句号
此处有一个需要注意的细节,调用String.replaceAll方法后,返回的String对象并不是该字符串本身,所以必须重新将引用指向新的对象才能得到替换后的数据,因为String的replaceAll方法是调用Matcher的方法,该方法最后是返回一个新对象,具体可参见源码:
Matcher.replaceAll
public static void main(String[] args) {
String str = "英/澳\\荷*兰?";
Pattern pattern = Pattern.compile("[/]|[?]|[*]|\\\\");
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.replaceAll(""));
}
英澳荷兰