Java 正则表达式删除包含特定字符前的数据
使用 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/ozwI 著作权归作者所有。请勿转载和采集!