, , . , trim() . , - :
s = s.replaceAll("^\\s+|\\s+$", "");
, . Pre-Java 7, \s ASCII, ..
"[\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020]"
... while ( ) trim() 32 (U+0020 Unicode). , , , , , , . ( , .) , . , trim() regex:
String s = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007"
+ "\u0008\u0009\n\u000B\u000C\r\u000E\u000F"
+ "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017"
+ "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F"
+ "\u0020\u00A0";
System.out.println(s.length());
System.out.println(s.trim().length());
System.out.println(s.replaceAll("\\s", "").length());
:
34
1
28
- (U+00A0 "NBSP" ). ASCII, , , , , , NBSP. trim(), , , , :
System.out.println(s.replaceAll("(?U)\\s", "").length());
... Java 7:
34
1
27
(?U), UNICODE_CHARACTER_CLASSES, @tchrist . NBSP - , , Character.isWhitespace(), , . Guava ( @Sean) BREAKING_WHITESPACE CharMatcher.
, , , , , . , , , , trim() StringTokenizer, , .