2016-07-22 9 views
0

誰かが助けてくれるのだろうかと思っていました。私は以下のようになり、一つの大きな文字列を持っている:文字列の特定の部分文字列を取得する

Name="firstName" Description="this is a test description" date="01/01/2016". 

は、私はJavaでやりたいことは、この文字列の単に抽象ごく一部、理想的に与える引用符で囲まれている説明の後、すなわちビットであり私は "これはテストの記述です"。誰かがこれを達成する方法について私を導くことができるだろうか?

ありがとうございました。

+0

「正規表現」 – SameeraB

+0

これはjsonかxmlですか?たぶんあなたの問題は別のもので解決されるかもしれません。 –

答えて

2

文字列があなたのものとまったく同じですか?

文字列がこのように表示されているとします。分割を使用できます。

String description = str.split("\"")[3]; 

Description引用符の間の部分だけを分割して表示します。 small example

小さなメモとして、これは実際の内容の部分の中に"がないことを前提としています。 (最初の名前は、私はこれが安全な推測だと仮定していますが、記述部分について同じことが言えるかどうか分かりません)

+0

このようには動作しません: str = 'Name =" firstName "Description ="これはテストの説明です "date =" 01/01/2016 "。'> 'String description' = [' Name = "firstName" '、' description'、 'description'、' date'; '01/01/2016" .'] '' String descriptionContent' = '' this' – NatNgs

+0

@NathaëlNoguès私は答えを更新しました:あなたは正しいです:-) –

+0

これはうまくいくでしょうが、私は個人的にはこれが醜い解決策だと思っています;そして、あなたの記述に '\" ' – NatNgs

3

次の正規表現を使用できます。.*Description=\"([\\w ]+)\".*"。目的の文字列はキャプチャグループ1です。例:

Pattern pattern = Pattern.compile(".*Description=\"([\\w ]+)\".*"); 
    Matcher matcher = pattern.matcher(input); 
    System.out.println(matcher.group(1)); 
+0

あなたの意見をお寄せいただきありがとうございます。私の文字列に対してReg Expressionを使用すると結果は返ってきません。私は間違ったことをしている可能性が高いです。私はこれをテストするためにhttps://regex101.com/を使用しています。ありがとう – J145

+0

各正規表現エンジンは異なっています。各言語にはその特徴があります。あなたの質問はJavaに関するもので、PHPのものではなくJavaの正規表現エンジンでテストしてください。 – m0skit0

関連する問題