0

假设我有一个这样的实用功能 -

public static boolean isABlankSpace(char c)
  {

     // returns true if the char c is rendered as a blank space
  }

我目前的实现只做-

if(c == ' ') 
 {
    return true;
 }

但我意识到许多其他 ASCII 代码可以呈现为空白。那么这些ASCII码是什么?这将如何改变我的实施?

4

3 回答 3

4

你可以使用:

Character.isWhitespace(c);

这是一个内置的实用方法。它的作用细节在javadoc中。请注意,它也会为换行符(等)返回\ntrue \r

于 2012-06-18T14:24:39.873 回答
0

我将再添加2个:

制表符 \t

零宽度空间:

http://en.wikipedia.org/wiki/Zero-width_space

于 2012-06-18T14:23:45.163 回答
0
Character.isSpaceChar(c);

如果字符是以下任何一种,则返回 true:

SPACE_SEPARATOR
LINE_SEPARATOR
PARAGRAPH_SEPARATOR 

文档

为避免其他字符被解释为空格字符,您可以转换为 ASCII:

int j = (int) c;
if(j == 32) return true;

但当然要考虑 unicode 构建。

于 2012-06-18T14:29:23.383 回答