繁体   English   中英

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

[英]Finding Spaces, Newlines and Tabs with charAt()

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

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

这对我有用:

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

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

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

这个正则表达式[\\ s]将完成这项工作。 它与空白相匹配,相当于[\\ t \\ n \\ r \\ n]。

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

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

会产生预期的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM