我试图忽略文本之间的editview中的空格,我不太清楚我怎么能这样做。我知道我可以使用trim功能来忽略全文之前和之后的空格但是如果有的话我如何忽略字符串之间的空格;
String myTextEdited myText.getText().toString().trim();
例如,如果我有/ user类型;
Allan Bob
3523 JKO
NY1 U90
我想在if语句中读取这个空格时或者把它放在另一个变量中,例如;
String name =" AllanBob"
例如,要忽略大小写,我正在这样做;
if (myText.getText().toString().trim().equalsIgnoreCase(userInput)) {
// do something
} else {
// do something
}
我想要做的是在这里添加另一个功能,也忽略文本之前,之间和之后的空格,例如而不是;
myname is Henry . (space until here)
它应该将其视为mynameishenry,但对于用户来说,它仍然会在他们写完时显示。
如果我的问题不明确,请告诉我,我会尝试更好地解释
编辑:
是否可以忽略我在if语句中的字符串中的空格。例如;
if (myText.getText().toString().trim().equalsIgnoreCase("Henry 0887")) {
// do something
} else {
// do something
}
但是目前如果用户键入henry0887,则if语句不会对其进行验证,因为我在验证文本中添加了一个空格,并且在文本中寻找空格,是否有可能超过这个,所以即使我的验证中有空格,它忽略了它。
答案 0 :(得分:2)
你试过这个:
String myString = myEditText.getText().toString();
myString = myString .replace(" ", "");
希望有所帮助
编辑:
if (myText.getText().toString().replace(" ", "").equalsIgnoreCase(userInput) || myText.getText().toString().equalsIgnoreCase(userInput)) {...
答案 1 :(得分:1)
使用replaceAll()
方法。
str = str.replace(" ","");
或所有空间字符:
str = str.replace("\\s+","");
修改强>
if (myText.getText().toString().replace("\\s+","").equalsIgnoreCase(userInput)) {
// do something
} else {
// do something
}
<强> EDIT2 强>
if (myText.getText().toString().replace("\\s+","").equalsIgnoreCase("Henry 0887".replace("\\s+",""))) {
// do something
} else {
// do something
}
答案 2 :(得分:1)
试试这个,
if(myText.getText()。toString()。trim()。replace(&#34;&#34;,&#34;&#34;)。equalsIgnoreCase(userInput)){ // 做一点事 } else { // 做一点事 }
希望这有帮助。