2012-03-14 10 views
0

を使用して、キーと値のペアを抽出します。<element>Key:Value</element>は、私は次の形式の文字列を持っているJavaの正規表現

同様の文字列は、コンパウンド・ストリングを作成するために相互に追加されるので、3つの文字列がある場合は、私が持っていると思います次の形式:<element>Key:Value</element><element>Key:Value</element><element>Key:Value</element>

2つの要素の間に文字はありません。

正規表現を書いて、キーと値のペアを抽出してHashMapに入れることができます。マッピング部分は簡単ですが、私は正規表現の部分を行う方法がわかりません。

+3

ベストアドバイス:XMLを読むために正規表現を使用していませんまたはHTML –

答えて

2

、正規表現でそれを行う実際のXMLパーサーを使用して要素のERMの要素の内容を抽出し、その上で正規表現を使用し、または単純なのstring.Split(「:」)しないでください

のように、

List<XMLElements> els = XMLParser.parse(yourXmlFile); 
then for each XMLElement is element in els element.split(":") and take [0] for key and [1] for value. 
3

エイは、上述したように、XMLパーサーは、おそらくここに、より適切であろうが、あなたは正規表現を行いたい場合:

String str = "<element>Key1:Value1</element><element>Key2:Value2</element><element>Key2:Value2</element>"; 
    final Pattern p = Pattern.compile("<element>(.*?):(.*?)</element>"); 

    Matcher m = p.matcher(str); 
    while (m.find()) { 
     System.out.print("Key=" + m.group(1)); 
     System.out.println("; Value=" + m.group(2)); 
    } 
関連する問題