-6

文字列から値を取得したい。例えば:

String string= "Name: armand," + "Age: 22," + "etc";

たとえば、正規表現を使用して名前を取得するにはどうすればよいですか?

私は正規表現が非常に悪いので、これを解決する方法がわかりません。

4

2 に答える 2

3

申し訳ありませんが、実際には次のように見えます 名前:アルマン、年齢:22など. しかし、私は正規表現が非常に苦手です。これを解決するのは難しいです。

与えられたString s = "Name:armand,Age:22";

ここにヒントがあります:

s.split(",")[0].split(":")あなたに与えるでしょうarmand

s.split(",")[1].split(":")あなたにあげます22

正規表現の知識は必要ありません。

問題に直面したときに、「分かった、正規表現を使用する」と考える人もいます。現在、彼らには 2 つの問題があります。- ジェイミー・ザウィンスキー

于 2012-05-17T15:00:00.403 に答える
1

本当にやりたいことによって異なります。たとえば、特定のキーの値のみを取得したい場合、キーと値がコロンで区切られ、キー/値がコンマで区切られている場合、この方法で文字列を分割できます最初にコンマ、次にコロン:

String[] couple = string.split(",");

 for(int i =0; i < couple.length ; i++) {
    String[] items =couple[i].split(":");
    items[0]; //Key
    items[1]; //Value
}

正規表現でそれを行いたい場合は、次の方法で実行できます。

    String string = "Name:armand,Age:22,";
    Pattern pattern = Pattern.compile("(\\w+?):(\\w+?),");
    Matcher matcher = pattern.matcher(string);
    while (matcher.find()) {
        String key = matcher.group(1);
        String value = matcher.group(2);

        System.out.println("Key : " + key + " value : " + value);
    }
于 2012-05-17T15:01:46.973 に答える