-1

String 配列に保存されている次のような 1K の文字列があり、定数ではない太字の単語が必要です)。それで、何が最善の方法なのだろうかと考えています。

(descSummary: EME コマーシャル (変更要求)、アーカイブ済み: false、名前: EME コマーシャル (変更要求)、uniqueName: EME コマーシャル (変更要求)(JTS-Sentinel-Id)) (isInitialized: true、internalPublic: true、internalVisibleToMembers: false、internalVisibleToAccessList: false、owningApplicationKey: JTS-Sentinel-Id、internalIsProcessProvider: false)

助けてください!

4

1 に答える 1

2

さて、文字列「name:」の後、次のコンマの前にテキストを求めているように見えるので、正規表現は/name: ([^,]+)/

アップデート:

を使用している理由がわかりません.replaceAll()

Java 文字列リテラルの場合、正規表現を区切るためにスラッシュは必要ありません。私のように、多くの人はスラッシュを使用して通常のテキストでそれを強調しています。

太字でマークしたセグメントを表示する場合は、次のようにします。

Pattern pattern = Pattern.compile("name: ([^,]+)");
Matcher matcher = pattern.matcher(str.toString());
if (matcher.matches()) {
    System.out.println(matcher.group(0));
    System.out.println(matcher.group(1));
}

.group(0)パターンに一致した文字列全体を返します。 .group(1)括弧内の最初の「キャプチャされた」グループである([^,]+)部分に一致する文字列を返します。

そして、なぜ電話をかけ.toString()ているのstrですか?その変数の名前は、それがすでに文字列であることを示唆しています。

于 2012-05-22T21:04:42.317 に答える