我正在解析PDF并使用\t, \r, \n,\s
获取大量字符串...并且出现在字符串的两端并且不按顺序显示。所以我可以有
例如:
“\t\s\t\n
我需要的一些重要数据被无用的数据所包围\r\t\s\s\r\t\t
”
。是否有任何有效的方法来修剪这些字符串?
到目前为止我所做的还不够好,因为我想要一些符号。:
public static String trimToLetters(String sourceString) {
int beginIndex = 0;
int endIndex = sourceString.length() - 1;
Pattern p = Pattern.compile("[A-Z_a-z\\;\\.\\(\\)\\*\\?\\:\\\"\\']");
Matcher matcher = p.matcher(sourceString);
if (matcher.find()) {
if (matcher.start() >= 0) {
beginIndex = matcher.start();
StringBuilder sb = new StringBuilder(sourceString);
String sourceReverse = sb.reverse().toString();
matcher = p.matcher(sourceReverse);
if (matcher.find()) {
endIndex = sourceString.length() - matcher.start();
}
}
}
return sourceString.substring(beginIndex, endIndex);
}
答案 0 :(得分:6)
trim
的{{1}}方法应该能够从字符串的两端删除所有空格:
String
:返回字符串的副本,省略前导和尾随空格。
P.S。 trim
不是Java中的有效转义序列。