概率愚蠢的问题,但这里有云:忽略任何非字母字符和大写字母从字符串
我期待忽略字符串的任何非字母字符,也大写字母。
if (names[j].matches("[a-zA-Z]+")){
System.out.println(names[j] + ":");
}
我有类似的东西,以测试是否有被赋予了非字母字符和它的作品,只是不知道如何将它们忽略这样。
任何建议都会很棒。谢谢。
概率愚蠢的问题,但这里有云:忽略任何非字母字符和大写字母从字符串
我期待忽略字符串的任何非字母字符,也大写字母。
if (names[j].matches("[a-zA-Z]+")){
System.out.println(names[j] + ":");
}
我有类似的东西,以测试是否有被赋予了非字母字符和它的作品,只是不知道如何将它们忽略这样。
任何建议都会很棒。谢谢。
Exapnding上@Jeff楼层的回答是:
你做一个用空字符串 更换正则表达式[^a-zA-Z]+
如果你真的不想忽略上面的情况
将转换为更换后字符串转换成小写
public static void main(String[] args) throws Exception {
String hello = "[email protected]";
hello = hello.replaceAll("[^a-zA-Z]+","").toLowerCase();
System.out.println(hello);
}
将输出:
natalie
如果你想忽略的第一个字符,无论它是什么,那么你可以使用:
String hello = "[email protected]";
String ignoreFirstChar = hello.charAt(0) + (hello.substring(1,hello.length()).replaceAll("[^a-zA-Z]+", "").toLowerCase());
System.out.println(ignoreFirstChar);
将输出:
Natalie
谢谢你,我曾经认为这是最好的选择,但想要仔细检查。为愚蠢的问题道歉:) –
@NatalieCarr没问题! :D – gtgaxiola
对不起,快速的问题,有没有办法跳过第一个字符?所以只有在第一个字符之后进行替换,而不管它是否需要替换? –
如果您想忽略它们并将它们去掉,只需使用正则表达式来匹配它们,并用空字符串替换它们即可。 String#replaceAll可以采取正则表达式。
你是什么意思忽略不?把他们从字符串中取出,或者如果他们在场,不要去做? – gtgaxiola
我的意思是,如果NAtalie7 @被输入,那么natalie会被考虑?我认为把它们拿出来,把字符串改为全部小写字母将是最好的方法,但是想知道是否有可能在不移除的情况下忽略它们。上面的代码是一个快速测试,以检查输入是否不是所有字母。 –