0

提供された文字列に探している中間の 3 文字が含まれているかどうかを確認する必要があるという問題があります。

たとえば。常に 9 文字の文字列を取得します。その中の 3 文字と比較したい場合は、たとえば「abc」とします。条件が一致する場合、いくつかのロジックを適用したいと思います。誰かが私にこれの例を教えてもらえますか?

前もって感謝します

4

4 に答える 4

4

私はこれがあなたが望むものだと思います

^.{3}abc.{3}$
于 2012-10-11T17:46:16.803 に答える
2

^.*abc.*$

のようなものを使用して^.{3}abc.{3}$、真ん中の 3 文字だけに一致させることもできます。

于 2012-10-11T17:46:19.667 に答える
0
int mid = (test.length()/2);
string = string.substring(mid-1, mid+2);
if (string.equals("abc"))
{
   do stuff
}

部分文字列を使用して中央の 3 文字を取得する例を次に示します。エラーを防ぐために、文字列の長さが 3 文字未満の場合に備えて、チェックを追加することをお勧めします。abc を確認したいものに変更します。

于 2012-10-11T18:00:22.047 に答える
0

substringおそらくandを使用する方が理にかなっていますequals:

if(s.substring(3, 6).equals("abc"))
    // ...

しかし、本当に正規表現が必要な場合は、次のように記述できます。

if(Pattern.compile("...abc...", Pattern.DOTALL).matcher(s).matches())
    // ...
于 2012-10-11T17:46:05.920 に答える