its*_*dok 41 java string unicode
JDK的String.trim()方法很幼稚,只删除ascii控制字符.
Apache Commons的StringUtils.strip()略胜一筹,但使用的是JDK的Character.isWhitespace(),它不会将不间断的空格识别为空格.
那么在Java中修剪字符串的最完整,Unicode兼容,安全和正确的方法是什么?
顺便说一句,是否有比commons-lang我应该使用的更好的库?
Cra*_*der 58
CharMatcher.inRange('\0', ' ').trimFrom(str)
Run Code Online (Sandbox Code Playgroud)
等效于String.trim(),但您可以自定义要修剪的内容,请参阅JavaDoc.
例如,它有自己的WHITESPACE定义,它与JDK不同,并根据最新的Unicode标准定义,因此您需要的内容可以写成:
CharMatcher.WHITESPACE.trimFrom(str)
Run Code Online (Sandbox Code Playgroud)
我发誓我在发布问题后才看到这一点:谷歌刚刚发布了Guava,一个核心Java实用程序库.
我还没有尝试过这个,但据我所知,这完全符合Unicode:
String s = " \t testing \u00a0"
s = CharMatcher.WHITESPACE.trimFrom(s);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20454 次 |
| 最近记录: |