java正则删除掉字符串包含某个字前面的数据
可以使用正则表达式中的“零宽断言”来实现。具体地,可以使用“正向零宽断言”来匹配某个字前面的数据,然后使用replace方法将其替换为空字符串。
例如,假设要删除字符串中所有包含字母“a”的单词前面的数据,可以使用如下代码:
String str = "hello world, apple is a fruit";
String regex = "\\b(?=\\w*a\\w*)\\S+\\s*";
String result = str.replaceAll(regex, "");
System.out.println(result); // 输出:apple is a fruit
其中,正则表达式“\b(?=\wa\w)\S+\s*”中的“\b”表示单词边界,“(?=\wa\w)”表示匹配包含字母“a”的单词前面的位置,“\S+”表示匹配单词本身,“\s*”表示匹配可能存在的空格。最后,使用replace方法将匹配到的字符串替换为空字符串即可。
原文地址: https://www.cveoy.top/t/topic/g0vJ 著作权归作者所有。请勿转载和采集!