Javaでは、「abc @ df」のような文字列が与えられ、 '@'は '%'、 '^'、 '&'のような他の文字ではありません。そのインデックスを見つけるのに最も効率的な方法ですか?私はforループが(文字列の長さに依存して)素早くなることを知っていますが、他のより速いメソッドについてはどうでしょうか?アルファベット以外の文字のすべてのインデックスまたはインデックスに最も近いインデックスを見つける方法(indexOf(string、startingIdx)など) ありがとう!あなたは、各文字が文字(または他のタイプ)があるかどうかを判断するために文字クラスを使用することができ、forループJava - 文字列のアルファベット以外の文字を検索するにはどうすればよいですか?
Pattern patt = Pattern.compile("[^A-Za-z]");
Matcher mat = patt.matcher("[email protected]");
boolean found = mat.find();
System.out.println(found ? mat.start() : -1);
indexOfの実装を見ると、ループを見つけることができます。それを使用する利点は、ループを書く必要がないことです。最良のコードは、書かないコードなので、それは良いことです。 – Bill
@Bill私は明確にしていないと思う。アルファベット以外の文字のインデックスを見つける方法を見つける。膨大な範囲のアルファベット以外の文字があるので、あなたが探している文字を特に知らないので、indexOf()を使用することはできません。お役に立てれば! – Jsbbvk
もちろん、それは私が答えを提案する代わりにコメントを残した理由の一部です。 – Bill