文字列から値を取得したい。例えば:
String string= "Name: armand," + "Age: 22," + "etc";
たとえば、正規表現を使用して名前を取得するにはどうすればよいですか?
私は正規表現が非常に悪いので、これを解決する方法がわかりません。
申し訳ありませんが、実際には次のように見えます 名前:アルマン、年齢:22など. しかし、私は正規表現が非常に苦手です。これを解決するのは難しいです。
与えられたString s = "Name:armand,Age:22";
ここにヒントがあります:
s.split(",")[0].split(":")
あなたに与えるでしょうarmand
、
s.split(",")[1].split(":")
あなたにあげます22
正規表現の知識は必要ありません。
問題に直面したときに、「分かった、正規表現を使用する」と考える人もいます。現在、彼らには 2 つの問題があります。- ジェイミー・ザウィンスキー
本当にやりたいことによって異なります。たとえば、特定のキーの値のみを取得したい場合、キーと値がコロンで区切られ、キー/値がコンマで区切られている場合、この方法で文字列を分割できます最初にコンマ、次にコロン:
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);
}