java如何将用户输入读入忽略某些字符的字符串
我试图得到一个只包含大写字母a-G字符的字符串,忽略字母表中的任何其他字符。我尝试了一个很长的if语句,例如:
String initString;
for (int i = 0; i < 128; i++){
if (input.equals("A") || input.equals("B") || input.equals("C") || input.equals("D") || input.equals("E") || input.equals("F") || input.equals("G")){
initString = intiString + input.next();
}
}
但有问题,例如aaaadddggijubbb的输入字符串 但是保存到IntitString的字符串将是aaaaddgGBBBB。我如何在每次迭代后添加到字符串中,因为我只是尝试添加输入。下一个和下一个字符串不工作
# 1 楼答案
那个代码是非常错误的
next()
通常是迭代器方法,迭代器不是字符串。由于您在next()
之前检查了equal()
,所以您甚至没有检查实际得到的字符无论如何。使用输入字符串并删除不需要的字符可能比使用循环更容易:
或者如果您真的真的想使用循环if而不是正则表达式:
# 2 楼答案
试试这个
# 3 楼答案
试着这样做: