实例代码如下:
推荐java视频教程:java学习视频
public class FilterSpecialStr { public static void main(String[] args) { String regEx="[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、?]"; // 除了字母数字下划线之外的字符为非法字符 Pattern pattern = Pattern.compile(regEx); // 指定设置非法字符 // Pattern pattern = Pattern.compile("[@#]"); String str = "123@abc {} \n #D EF。"; Matcher matcher = pattern.matcher(str); StringBuffer buffer = new StringBuffer(); //如果找到非法字符 while (matcher.find()) { // 如果里面包含非法字符如冒号双引号等,那么就把他们消去,并把非法字符前面的字符放到缓冲区 matcher.appendReplacement(buffer, ""); } // 将剩余的合法部分添加到缓冲区 matcher.appendTail(buffer); System.out.println("过滤前的字符: " + str); System.out.println("过滤后的字符: " + buffer.toString()); } }
输出的结果:
过滤前的字符: 123@abc {}
#D EF。
过滤后的字符: 123abcDEF
java相关文章教程:java语言入门
Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke zum Filtern von Sonderzeichen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!