Javaにこの文字列配列があるとしましょう
String[] test = {"hahaha lol", "jeng jeng jeng", "stack overflow"};
しかし今、上記の配列内の文字列のすべての空白を に置き換えて、%20
このようにしたいと思います
String[] test = {"hahaha%20lol", "jeng%20jeng%20jeng", "stack%20overflow"};
どうすればいいのですか?
Javaにこの文字列配列があるとしましょう
String[] test = {"hahaha lol", "jeng jeng jeng", "stack overflow"};
しかし今、上記の配列内の文字列のすべての空白を に置き換えて、%20
このようにしたいと思います
String[] test = {"hahaha%20lol", "jeng%20jeng%20jeng", "stack%20overflow"};
どうすればいいのですか?
配列を繰り返し処理し、各エントリをエンコードされたバージョンに置き換えます。
そのように、実際にURL互換の文字列のみを探していると仮定します。
for (int index =0; index < test.length; index++){
test[index] = URLEncoder.encode(test[index], "UTF-8");
}
現在のJavaに準拠するには、エンコーディングを指定する必要がありますが、常にである必要がありますUTF-8
。
より一般的なバージョンが必要な場合は、他のすべての人が提案していることを実行してください。
for (int index =0; index < test.length; index++){
test[index] = test[index].replace(" ", "%20");
}
簡単な解決策は次のとおりです。
for (int i=0; i < test.length; i++) {
test[i] = test[i].replaceAll(" ", "%20");
}
ただし、URL で使用するためにこれらの文字列をエスケープしようとしているようです。その場合は、それを行うライブラリを探すことをお勧めします。
使ってみてくださいString#relaceAll(regex,replacement)
; テストされていませんが、これは機能するはずです:
for (int i=0; i<test.length; i++) {
test[i] = test[i].replaceAll(" ", "%20");
}
文字列ごとに replaceAll("\\s", "%20") を実行します
String[] test={"hahaha lol","jeng jeng jeng","stack overflow"};
for (int i=0;i<test.length;i++) {
test[i]=test[i].replaceAll(" ", "%20");
}
Javaドキュメントから直接...文字列javaドキュメント
String.replace('toreplace'、'replacement')を実行できます。
forループを使用して配列の各メンバーを反復処理します。