当我使用 reader.readLine() 时,字符串长度始终为 80 个字符,并且在主字符串 unicode 空格被填充之后。有没有办法删除那些不需要的字符。(java.io.RandomAccessFile 阅读器)String.trim 不适用于此
user435739
问问题
4481 次
5 回答
7
您可以使用Commons Lang 的StringUtils.strip。它是 Unicode 感知的。
于 2013-07-15T11:09:07.073 回答
3
您可以使用Character.isWhitespace(char)和Character.isSpaceChar(char)方法在 Java 中编写自定义方法来删除 Unicode 空格字符,以 满足您的特定目的。
Spring 框架有一个带有trimWhitespace(String)方法的StringUtils类,该方法似乎基于此处的源代码。Character.isWhitespace(char)
于 2013-07-15T11:10:15.040 回答
0
如果你不想要一个大的库。只需使用:
str.replaceAll("^[\\s\\p{Z}]+|[\\s\\p{Z}]+$", "");
测试
public static String trim(String str) {
return str.replaceAll("^[\\s\\p{Z}]+|[\\s\\p{Z}]+$", "");
}
public static void main(String[] args) {
System.out.println(trim("\t tes ting \u00a0").length());
System.out.println(trim("\t testing \u00a0").length());
System.out.println(trim("tes ting \u00a0").length());
System.out.println(trim("\t tes ting").length());
}
于 2019-04-26T09:41:27.280 回答
0
使用谷歌番石榴
CharMatcher.WHITESPACE.trimFrom(source);
或试试这个https://gist.github.com/michalbcz/4861a2b8ed73bb73764e909b87664cb2
于 2016-08-12T12:01:42.700 回答
-2
于 2013-07-15T11:09:27.277 回答