[解決済み] 文字列中に出現するすべての文字のインデックス
2022-05-18 14:26:02
質問
次のコードは2を表示します。
String word = "bannanas";
String guess = "n";
int index;
System.out.println(
index = word.indexOf(guess)
);
文字列 "bannanas" の中の "n" ("guess") のすべてのインデックスを取得する方法を知りたいのですが、どうすればよいでしょうか。
期待される結果は次のようになります。
[2,3,5]
どのように解決するのですか?
を除いたポジションのリストが表示されるはずです。
-1
を除いたリストを表示します。
Peter Lawreyの解決策
<ストライク
があります。
がありました。
int index = word.indexOf(guess);
while (index >= 0) {
System.out.println(index);
index = word.indexOf(guess, index + 1);
}
として行うこともできます。
for
ループとして行うこともできます。
for (int index = word.indexOf(guess);
index >= 0;
index = word.indexOf(guess, index + 1))
{
System.out.println(index);
}
[注意: もし
guess
が一文字よりも長くなる可能性がある場合、それを解析することで
guess
の文字列を解析することで、ループして
word
をループすることで、上記のループよりも高速になります。このようなアプローチのベンチマークとなるのは
Boyer-Mooreアルゴリズム
. しかし、そのようなアプローチを用いるのに有利な条件は存在しないようです]。
関連
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
JNIエンカウンターエラー:構造体またはユニオンではない何かでメンバー 'FindClass' のリクエスト
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み】array[idx++]+="a "は、Java 8ではidxを1回増やすが、Java 9と10では2回増やすのはなぜか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Javaでよくある構文エラー
-
javaの非静的メソッドを静的に参照することができない
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
配列定数は初期化子でのみ使用可能です。
-
Java:未解決コンパイル問題の解決方法
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
Java基礎 - マッピングとQ/A
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
[解決済み] 2つの文字列を、一方が他方を置き換えてしまわないように置き換えるにはどうしたらよいでしょうか?
-
[解決済み] Java: Stringの中のマッチの位置を取得するメソッド?