如何忽略文本编辑视图之间的空格 Android
How to ignore spaces between text editview Android
我试图在文本之间的编辑视图中忽略 spaces,我不太确定如何才能做到这一点。我知道我可以使用 trim 功能来忽略全文前后的 space,但是如果有的话,我该如何忽略字符串之间的 space;
String myTextEdited myText.getText().toString().trim();
比如我在这里面有/用户类型;
Allan Bob
3523 JKO
NY1 U90
当我在我的 if 语句中读到这个或者把它放在另一个变量中时,我想忽略 spaces;
字符串名称="AllanBob"
比如忽略大小写我就是这样做的;
if (myText.getText().toString().trim().equalsIgnoreCase(userInput)) {
// do something
} else {
// do something
}
我想做的是在这里添加另一个功能,它也忽略文本之前、之间和之后的 spaces,例如而不是;
myname is Henry . (space until here)
它应该读作 mynameishenry 但对于用户来说它仍然显示为他们所写的。
如果我的问题不清楚,请告诉我,我会尽力解释得更好
已编辑:
是否可以忽略 if 语句中字符串中的 spaces。例如;
if (myText.getText().toString().trim().equalsIgnoreCase("Henry 0887")) {
// do something
} else {
// do something
}
但目前如果用户输入 henry0887,if 语句不会验证它,因为我在验证文本中添加了一个 space,因此它在文本中寻找 space,是有可能克服这个问题,所以即使我在验证中有 space 它也会忽略它。
使用replaceAll()
方法。
str = str.replace(" ","");
或者对于所有 space 个字符:
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
}
你试过这个吗:
String myString = myEditText.getText().toString();
myString = myString .replace(" ", "");
希望对您有所帮助
编辑:
if (myText.getText().toString().replace(" ", "").equalsIgnoreCase(userInput) || myText.getText().toString().equalsIgnoreCase(userInput)) {...
试试这个,
if(myText.getText().toString().trim().replace(" ","").equalsIgnoreCase(userInput)) {
// 做一点事
} 别的 {
// 做一点事
}
希望对您有所帮助。
我试图在文本之间的编辑视图中忽略 spaces,我不太确定如何才能做到这一点。我知道我可以使用 trim 功能来忽略全文前后的 space,但是如果有的话,我该如何忽略字符串之间的 space;
String myTextEdited myText.getText().toString().trim();
比如我在这里面有/用户类型;
Allan Bob
3523 JKO
NY1 U90
当我在我的 if 语句中读到这个或者把它放在另一个变量中时,我想忽略 spaces;
字符串名称="AllanBob"
比如忽略大小写我就是这样做的;
if (myText.getText().toString().trim().equalsIgnoreCase(userInput)) {
// do something
} else {
// do something
}
我想做的是在这里添加另一个功能,它也忽略文本之前、之间和之后的 spaces,例如而不是;
myname is Henry . (space until here)
它应该读作 mynameishenry 但对于用户来说它仍然显示为他们所写的。
如果我的问题不清楚,请告诉我,我会尽力解释得更好
已编辑:
是否可以忽略 if 语句中字符串中的 spaces。例如;
if (myText.getText().toString().trim().equalsIgnoreCase("Henry 0887")) {
// do something
} else {
// do something
}
但目前如果用户输入 henry0887,if 语句不会验证它,因为我在验证文本中添加了一个 space,因此它在文本中寻找 space,是有可能克服这个问题,所以即使我在验证中有 space 它也会忽略它。
使用replaceAll()
方法。
str = str.replace(" ","");
或者对于所有 space 个字符:
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
}
你试过这个吗:
String myString = myEditText.getText().toString();
myString = myString .replace(" ", "");
希望对您有所帮助
编辑:
if (myText.getText().toString().replace(" ", "").equalsIgnoreCase(userInput) || myText.getText().toString().equalsIgnoreCase(userInput)) {...
试试这个,
if(myText.getText().toString().trim().replace(" ","").equalsIgnoreCase(userInput)) { // 做一点事 } 别的 { // 做一点事 }
希望对您有所帮助。