101

私は Java の初心者ですが、PHP での経験は豊富で、Java の爆発関数と内破関数 (PHP で利用可能) の完全な代替品を探しています。

私は同じことをグーグルで検索しましたが、結果に満足していません. 誰でも私の問題に対する良い解決策を持っていることを感謝します。

例えば:

String s = "x,y,z";
//Here I need a function to divide the string into an array based on a character.
array a = javaExplode(',', s);  //What is javaExplode?
System.out.println(Arrays.toString(a));

望ましい出力:

[x, y, z]
4

6 に答える 6

149

StringのJavadoc は、それString.split()が に関して探しているものであることを明らかにしていますexplode

Java には、「join」に相当する「implode」は含まれていません。他の回答が示唆するように、単純な関数に巨大な外部依存関係を含めるのではなく、数行のコードを記述したいだけかもしれません。それを達成する方法はたくさんあります。a の使用StringBuilderは 1 です:

String foo = "This,that,other";
String[] split = foo.split(",");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < split.length; i++) {
    sb.append(split[i]);
    if (i != split.length - 1) {
        sb.append(" ");
    }
}
String joined = sb.toString();
于 2013-05-27T13:23:44.157 に答える
4

私は PHP に詳しくありませんが、String.splitは PHP に相当する Javaだと思いますexplode。に関してはimplode、標準ライブラリはそのような機能を提供しません。配列を反復処理し、 StringBuilder / StringBufferを使用して文字列を作成するだけです。または、優れたGoogle Guava SplitterJoiner、またはApache Commons StringUtilssplit/joinのメソッドを試すことができます。

于 2013-05-27T13:02:02.970 に答える
0

String Class のリファレンスで話している場合。あなたが使用できるように

サブストリング/分割

分解して文字列を使用

連結する

内破のために。

于 2013-05-27T12:55:01.530 に答える