2016-03-27 6 views
-3

文字列オブジェクト(部分文字列)の一部を抽出したいとします。私は英数字で構成される大きな文字列を持っています。私は、特定の基準に一致する前記文字列に存在する部分文字列の数を数えたいと思う。Javaプログラミングで正規表現を使用する

私の一致する基準の例は、部分文字列が少なくとも1つの大文字を含む必要があり、その中に数字を入れないことです。

+0

申し訳ありませんが、あなたが尋ねていることは不明です。 [ヘルプ]にアクセスして[ツアー]を読んで[質問]を読んでください。 –

+0

いくつかのコードを書くと、常に役立ちます。または、文字列操作についてオンラインで調べてください。がんばろう! – pczeus

答えて

1
public static int countMatchInString(){ 
    int result = 0; 
    String complexString = "Addf34Dffgh32FxFD345xxxx43"; 
    Matcher matcher = Pattern.compile("\\P{N}*\\p{Lu}\\P{N}*").matcher(complexString); 

    while (matcher.find()){ 
     result++; 
    } 
    return result; 

} 

これが役立ちます。出力:3

+2

正規表現が正しくありません。サブストリング 'FxFD'は一致するはずですが、' Fx'だけが一致します。この正規表現は完全なUnicodeサポートで、 '' \\ P {N} * \\ p {Lu} \\ P {N} * "'に修正されます。 [regex101](https://regex101.com/r/pL3rR1/1)を参照してください。 – Andreas

+0

このような便利なサイトをお寄せいただきありがとうございます。 – Suparna