2

我试图忽略文本之间的editview中的空格,我不太确定如何去做。我知道我可以使用修剪功能来忽略全文前后的空格,但是如果有的话,我如何忽略字符串之间的空格;

String myTextEdited myText.getText().toString().trim();

例如,如果我有 / 用户类型在此;

Allan Bob
3523 JKO
NY1 U90

例如,当我在 if 语句中阅读此内容或将其放入另一个变量中时,我想输入空格;

字符串名称 = "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 语句不会验证它,因为我在验证文本中添加了一个空格,因此它在文本中寻找一个空格,是否有可能克服这个,所以即使我有空间在我的验证中,它忽略了它。

4

3 回答 3

2

你试过这个:

String  myString = myEditText.getText().toString();
myString  = myString .replace(" ", "");

希望能帮助到你

编辑:

if (myText.getText().toString().replace(" ", "").equalsIgnoreCase(userInput) || myText.getText().toString().equalsIgnoreCase(userInput)) {...
于 2016-01-28T11:36:49.860 回答
1

使用replaceAll()方法。 str = str.replace(" ",""); 或所有空格字符: str = str.replace("\\s+","");

编辑

if (myText.getText().toString().replace("\\s+","").equalsIgnoreCase(userInput)) {
                    // do something
                } else {
                    // do something
                }

编辑2

if (myText.getText().toString().replace("\\s+","").equalsIgnoreCase("Henry 0887".replace("\\s+",""))) {
                    // do something
                } else {
                    // do something
                }
于 2016-01-28T11:36:35.047 回答
1

尝试这个,

if(myText.getText().toString().trim().replace(" ","").equalsIgnoreCase(userInput)) { // 做某事 } else { // 做某事 }

希望这可以帮助。

于 2016-01-28T11:49:27.283 回答