[解決済み] 以下のコードで s.split("\s+")) は何を意味するのでしょうか?[重複]
2022-02-08 06:31:46
質問
以下のコードでは、String s という文字列の名前を与えています。この文字列は、フレーズ、すなわち、単一のスペースで区切られた1つまたは複数の単語を含んでいます。このプログラムは、このフレーズの頭文字を計算し、返す。
import java.math.*;
import java.util.*;
import static java.util.Arrays.*;
import static java.lang.Math.*;
public class Initials {
public String getInitials(String s) {
String r = "";
for(String t:s.split("\\s+")){
r += t.charAt(0);
}
return r;
}
void p(Object... o) {
System.out.println(deepToString(o));
}
}
例 john fitzgerald kennedy"
戻り値:"jfk"
解決方法は?
簡単に言うと、入力文字列をスライスして s を指定された正規表現に基づいて実行します。
この正規表現は、単に「1つ以上の空白"」という意味です。 (参照 ここで これらのパターンが何を意味するかについては、広範な説明を参照してください)
このように、split を呼び出すと "john", "fitzgerald", ...を含む配列が返されます。 この配列は、for-each型のforループを使って、直接"process"されます。
そして、それぞれの文字列の最初の文字を選ぶと、"jfk"になります。
関連
-
[解決済み] 文字列リテラルの前にある'b'文字は何を意味するのでしょうか?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] シンクロナイズド」とはどういう意味ですか?
-
[解決済み] ++iとi++の違いは何ですか?
-
[解決済み] w(array)とはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。Selection does not contain a main type
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み】HTTPステータス500 サーブレットクラスのインスタンス化エラー [重複]。
-
[解決済み】「error: '.class' expected」の意味と修正方法について
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)
-
[解決済み] 任意の空白文字をデリミタとして文字列を分割する方法