一些适合使用正则表达式的字符串API
字符串的拆分
package com.tedu.String;
import java.util.Arrays;
/**
* 利用正则表达式实现字符串的拆分
* String的split方法
* 支持使用正则表达式作为条件
* 将当前字符串分割成一个字符串数组
* @author Wildmess
*
*/
public class SpitDemo {
public static void main(String[] args) {
String str = "abcd123efg456hij";
String[] strs = str.split("\\d+");//\d是分割一个,\d+就是一个连续的符合要求的字符串
System.out.println(strs.length);
System.out.println(Arrays.toString(strs));
}
}
字符串替换/删除
package com.tedu.String;
/**
* 替换字符串中指定格式的内容为另外的内容
* 但replace不支持正则表达式
* replaceAll支持正则表达式
* @author Wildmess
*
*/
public class ReplaceDemo {
public static void main(String[] args) {
String str = " a b c d ";
//学习String时去掉俩边的空格
String s1 = str.trim();
System.out.println(s1);
String s2 = str.replaceAll("\\s", "");
System.out.println(s2);
//还有其他用法
//如替换已有字符串中的所有相关字符
String str2 = "abcdefghijk";
str2 = str2.replaceAll("[d-g]", "0");
System.out.println(str2);
}
}
检验性小实例
package com.tedu.String;
public class ReplaceDemo2 {
//做一个游戏中屏蔽侮辱性词汇的正则表达式
public static void main(String[] args) {
String mas = "我带你们打,二货,不玩gun";
String regex = "(我带你们打|二货|gun)";
mas = mas.replaceAll(regex, "***");
System.out.println(mas);
}
}