0

テキスト形式に従う必要があります。テンプレートを使用してコンテンツを抽出したいと思います。

値{ABC、XYZ...}|メッセージ{これはテストメッセージです}

上記の文字列に遭遇したとき、Javaで文字列全体を解析せずに「Value」と「Message」の内容を抽出したいと思います。

正規表現で可能ですか?

4

2 に答える 2

1

はい、これは正規表現で可能です。フォーマットが変更されないことを前提としています。

http://rubular.com/r/R8WIonv6Oj <-例については、このリンクをたどってください。

Value\{(.*)\}\|Message\{(.*)\}

中括弧の間にあるものに対して2つの一致するグループがあります。ただし、正規表現を使用せずにこれを簡単に行うことができます

于 2012-09-28T22:23:43.410 に答える
0

文字列が常にあなたが言及した形式である場合、以下のコードは機能します...

String s = "Value{ABC,XYZ...}|Message{This is test message}";
System.out.println(s.split("value")[0].split("\\{")[1].split("}")[0]); //prints ABC,XYZ...
System.out.println(s.split("Message")[1].split("\\{")[1].split("}")[0]); //prints This is test message
于 2012-09-28T22:02:25.013 に答える