0

我有一个要求,我需要删除 java 中 String 的不需要的字符。例如,输入字符串是

Income ......................4,456
liability........................56,445.99

我希望输出为

Income 4,456
liability 56,445.99

用java编写这个的最佳方法是什么。我正在为此解析大型文档,因此它应该进行性能优化。

4

3 回答 3

0

对于这个特定的示例,我可能会使用以下替换:

String input = "Income ......................4,456";
input = input.replaceAll("(\\w+)\\s*\\.+(.*)", "$1 $2");
System.out.println(input);

以下是正在使用的模式的解释:

(\\w+)   match AND capture one or more word characters
\\s*     match zero or more whitespace characters
\\.+     match one or more literal dots
(.*)     match AND capture the rest of the line

括号中的两个量称为捕获组。正则表达式引擎在匹配时记住这些是什么,并按顺序使它们可用,$1$2在替换字符串中使用。

输出:

Income 4,456

演示

于 2017-06-13T02:26:08.647 回答
0

您可以使用以下代码行替换:

System.out.println("asdfadf ..........34,4234.34".replaceAll("[ ]*\\.{2,}"," "));
于 2017-06-13T02:30:12.270 回答
-1

最好的方法是:

String result = yourString.replaceAll("[-+.^:,]","");

这将用任何内容替换这个特殊字符。

于 2017-06-13T02:25:51.123 回答