web-dev-qa-db-ja.com

Javaでの展開と実装(PHPと同様)

私はJavaの初心者ですが、PHPでの経験は豊富で、Javaのexplodeおよびimplode(PHPで使用可能)関数の完全な代替を探しています。

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

例えば:

String s = "x,y,z";
array a = javaExplode(',',s);  //what is javaExplode??
System.out.println(Arrays.toString(a));

望ましい出力:

[x, y, z]
87
Pankaj Wanjari

StringのJavadoc は、explodeに関してString.split()が探しているものであることを示しています。

Javaには、「結合」に相当する「内破」は含まれていません。他の回答が示唆するように、単純な関数に巨大な外部依存関係を含めるのではなく、数行のコードを書くだけです。それを実現する方法はいくつかあります。 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();
132
Brian Roach

String.split()explode()の代わりを提供できます

implode()の代わりに、カスタム関数を記述するか、 Apache CommonsStringUtils.join()関数を使用することをお勧めします。

23
Menno

適切な代替手段は、String.splitおよびStringUtils.joinメソッドです。

爆発:

String[] exploded="Hello World".split(" ");

実装:

String imploded=StringUtils.join(new String[] {"Hello", "World"}, " ");

ただし、StringUtilsは外部ライブラリにあることに注意してください。

16
EnKrypt

Java.lang.String.split(String regex) はあなたが探しているものです。

4
user1907906

私はPHPに慣れていませんが、 String.split はJavaがPHP explodeと同等だと思います。 implodeに関しては、standartライブラリはそのような機能を提供しません。配列を反復処理し、 StringBuilder / StringBuffer を使用して文字列を作成します。または、優れた Google GuavaSplitter および Joiner またはsplit/joinメソッドを Apache Commons -で試すことができます StringUtils

3
Ivan Sharamet

stringクラスの参照で話している場合。あなたが使用できるように

subString/split

分解して文字列を使用する

連結

implodeの場合。

0
Saunik Singh