Java 如何检查字符是否为撇号?
我需要检查一个字符是否是撇号。这是我目前的代码:Java 如何检查字符是否为撇号?,java,char,Java,Char,我需要检查一个字符是否是撇号。这是我目前的代码: public boolean isWordCharacter(int c) { if ((char) c == '\'') return true; else return Character.isLetter(c); } 但是,它实际上从未进入if((char)c=='\'')部分。我检查的方式有问题吗?谢谢 if(c=='\'')无需强制转换即可使用if(c=='\'')。或者可以使用撇号的ascii值,即39如果(c==39)就可
public boolean isWordCharacter(int c) {
if ((char) c == '\'')
return true;
else return Character.isLetter(c);
}
但是,它实际上从未进入
if((char)c=='\'')部分。我检查的方式有问题吗?谢谢 if(c=='\'')
无需强制转换即可使用if(c=='\'')
。或者可以使用撇号的ascii值,即39<代码>如果(c==39)就可以了
它实际上从未进入“if((char)c==”\''部分
唯一的原因是您永远不能将撇号传递给isWordCharacter()。您可以通过手动将
39
或'\''
发送到该函数来验证它;你的问题肯定在别处。这本身不是一个答案,但平面字符解析表明了一些潜在的反模式。“你考虑过你的需要吗?”戈麦斯先生,我不完全相信这一点,只是因为正则表达式有相当大的开销。如果你一次只关心一个字符,正则表达式可能会被过度使用。@LouisWasserman我也不是。我只是觉得把它放在那里是礼貌的,只要它能更好地满足OP(和在这里搜索的人)的需要。:)刚刚试过你的代码。它很好用。也许c参数是错误的。你能告诉我们对isWordCharacter()的调用吗。