问一个愚蠢的问题,但这里是:
我希望忽略任何非字母字符以及字符串中的大写字母。
if (names[j].matches("[a-zA-Z]+")){
System.out.println(names[j] + ":");
}
我有类似的东西来测试是否有非字母字符给出并且它有效,只是不确定如何忽略它们。
任何建议都会很精彩。谢谢。
答案 0 :(得分:1)
如果你想忽略它们并将它们删除,只需使用正则表达式匹配它们并用空字符串替换它们。 String#replaceAll可以使用正则表达式。
答案 1 :(得分:1)
在@Jeff Storey的答案中进行支持:
使用空字符串对正则表达式[^a-zA-Z]+
进行替换
如果你真的不想忽视大写
更换后,将String转换为小写
public static void main(String[] args) throws Exception {
String hello = "NAtalie7@";
hello = hello.replaceAll("[^a-zA-Z]+","").toLowerCase();
System.out.println(hello);
}
将输出:
natalie
如果您想忽略第一个字符而不管它是什么,那么您可以使用:
String hello = "NAtalie7@";
String ignoreFirstChar = hello.charAt(0) + (hello.substring(1,hello.length()).replaceAll("[^a-zA-Z]+", "").toLowerCase());
System.out.println(ignoreFirstChar);
将输出:
Natalie