4

少し奇妙な数字の列があります。私が引っ張っているソースには非標準のフォーマットがあり、分割する正確な方法 (2 つのスペース、3 つのスペースなど) を指定する必要がある .split から replaceall 正規表現に切り替えようとしています。

私のデータは次のようになります。

23574     123451    81239   1234    19274  4312457     1234719

で終わりたい

23574,xxxxx,xxxxx,xxxx 

だから私は String.split を行うことができます

4

4 に答える 4

12

\s正規表現を使用します

これはJavaでの使用法です

String[] numbers = myString.split("\\s+");
于 2012-09-24T19:18:20.780 に答える
3
final Iterable<String> splitted = Splitter.on('').trimResults().omitEmptyStrings().split(input);
final String output = Joiner.on(',').join(splitted);

グアバSplitterJoiner

于 2012-09-24T19:17:26.537 に答える
2
String pattern = "(\s+)";
Pattern regex = Pattern.compile(pattern);
Matcher match = r.matcher(inputString);
match.replaceAll(",");
String stringToSplit = match.toString();

それはあなたのためにそれをするべきだと思います。そうでない場合は、Java API の Matcher クラスと Pattern クラスをグーグル検索すると非常に役立ちます。

于 2012-09-24T19:23:31.773 に答える