我需要检查字符串以查看它们是否仅包含“非字母数字字符”。基本上,我可以使用一个字符串“ !!! hi”,这样就可以了,因为它既包含字母数字字符,也包含非字母数字字符,但是一行仅是“ @@#!”。这将被删除。似乎我需要某种普通的Java所不包含的“包含”类型。
这是我尝试过的。
if(line.matches("[^a-zA-Z\\d\\s:]")){
line = line;
} else {
line = line.replace(line, "");
}
答案 0 :(得分:1)
如果您只想查看其是否包含字母数字,则可以find()
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public String clean(String line) {
Pattern p = Pattern.compile("\w");
Matcher m = p.matcher(line);
if (m.find()) {
return line; // found any character or digit, keep the line
}
return ""; // else return nothing
}
答案 1 :(得分:-1)
使用此正则表达式:
if(!line.matches("^[a-zA-Z0-9!]*$"))
检查字符串line
中是否有任何个非字母数字字符: