修剪String中的所有'空格'

时间:2013-03-20 02:13:21

标签: java regex parsing

我正在解析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);
    }

1 个答案:

答案 0 :(得分:6)

trim的{​​{1}}方法应该能够从字符串的两端删除所有空格:

  

String:返回字符串的副本,省略前导和尾随空格。

P.S。 trim不是Java中的有效转义序列。