/** * String类也可以根据正则表达式操作字符串。 包括字符串匹配、替换和分割 */ public static void testRegex() { String str = "aab aaa bb ab"; // 该正则表达式表示包含任意多个英文字母或者空格。 String pattern1 = "^[a-zA-Z| ]*$"; System.out.println("用正则表达式匹配成功? " + str.matches(pattern1)); // 替换, 将字符串中的所有连续空格替换成一个空格 System.out.println(str.replaceAll("\\s{2,}", " ")); // 将字符串中第一个连续的空格替换成一个空格 System.out.println(str.replaceFirst("\\s{2,}", " ")); // 分割字符串,按空格分割,多个连续的空格当作一个空格 String[] ss = str.split("\\s{1,}"); System.out.println("用正则表达式按空格分割:"); for (int i = 0; i < ss.length; i++) { System.out.println(ss[i]); } // 限制分割后的数组的大小 System.out.println("用正则表达式按空格分割,指定最大分割段数为3:"); ss = str.split("\\s{1,}", 3); for (int i = 0; i < ss.length; i++) { System.out.println(ss[i]); } }