使用charAt()查找空格,换行符和制表符

时间:2011-10-19 01:53:43

标签: java android

我正在尝试检查当前角色位置是否有空格,换行符或制表符。空格有效但选项卡和换行符不行。好吧,我正在使用逃生,只是一个空间的常规空间...在一个地方找到这些的正确方法是什么?

if(String.valueOf(txt.charAt(strt)).equals(" ") || 
                    txt.charAt(strt) == '\r' ||
                    txt.charAt(strt) == '\n' || 
                    txt.charAt(strt) == '\t') {
    //do stuff
                    }

4 个答案:

答案 0 :(得分:8)

这对我有用:

  char c = txt.charAt(strt);
  if (c == ' ' || c == '\t' || c == '\n' || c == '\r')
    System.out.println("Found one at " + strt);

你的作品也有效,虽然它有点难以理解。为什么它对你不起作用我不知道 - 也许这个字符串形成得很糟糕?你确定你真的有标签和内容吗?

答案 1 :(得分:1)

它应该工作得很好,检查你的输入字符串。此外,可以通过比较空白字符来检查空间。创建一个新的String对象仅用于比较是非常昂贵的。

答案 2 :(得分:0)

查看android中Editable的文档,它返回char。因此...

if (txt.charAt(strt) == ' ' || 
    txt.charAt(strt) == '\r' ||
    txt.charAt(strt) == '\n' || 
    txt.charAt(strt) == '\t') 
{
    //do stuff
}

会产生预期的结果。

答案 3 :(得分:0)

此正则表达式[\ s]将完成工作。它匹配空白,等效于[\ t \ n \ r \ f]。