私はString
のこの種ました:Javaで特定の単語の後に単語を取り出す方法は?
{aa=bbbb, cc=blabla1, ee=ffff, cc=blabla2, gg=hhhh, cc=blabla3,.......}
を、私はcc=
後、すべての単語のリストを取得したいです。
どうすればいいですか?私は正規表現のものには自信がありません。
私はString
のこの種ました:Javaで特定の単語の後に単語を取り出す方法は?
{aa=bbbb, cc=blabla1, ee=ffff, cc=blabla2, gg=hhhh, cc=blabla3,.......}
を、私はcc=
後、すべての単語のリストを取得したいです。
どうすればいいですか?私は正規表現のものには自信がありません。
public static void main(String[] args) {
String input = "aa=bbbb, cc=blabla1, ee=ffff, cc=blabla2, gg=hhhh, cc=blabla3";
String[] splitValues = input.split(", ");
Map<String,List<String>> results = new Hashtable<>();
List<String> valueList = null;
// iterate through each key=value adding to the results
for (String a : splitValues) {
// a = "aa=bbbb" etc
String[] keyValues = a.split("=");
// you can check if values exist. This assumes they do.
String key = keyValues[0];
String value = keyValues[1];
// if it is already in map, add to its value list
if (results.containsKey(key)) {
valueList = results.get(key);
valueList.add(value);
} else {
valueList = new ArrayList<>();
valueList.add(value);
results.put(key, valueList);
}
}
System.out.println("cc= values");
valueList = results.get("cc");
// assumes value is in results
for (String a : valueList)
System.out.println(a);
}
あなたの質問は非常にあいまいですが、私は文字列が似ているとして提供されている推測しています:私はあなたが抽象Listオブジェクトにではなく、配列を参照している推測してい
リストによってString toSearch = "{aa=bbbb, cc=blabla1, ee=ffff, cc=blabla2, gg=hhhh, cc=blabla3,.......}";
。ここで溶液は:
String toSearch = "{aa=bbbb, cc=blabla1, ee=ffff, cc=blabla2, gg=hhhh, cc=blabla3,.......}";
List<String> result = new ArrayList<String>();
int prevMatch = 0;
while (toSearch.indexOf("cc=", prevMatch+1) != -1) {
result.add(toSearch.substring(// Substring method.
toSearch.indexOf("cc=",prevMatch+1)+3,toSearch.indexOf(",") //Getting correct indexes.
));
prevMatch = toSearch.indexOf("cc=",prevMatch+1);
}
prevMatch変数が返されるのindexOf(「CCは=」)文字列で発生した次のものであることを保証します。上記のStringの場合、返されるArrayListには、単語 "blabla1"、 "blabla2"、 "blabla3"などが含まれます。
地図またはプロパティオブジェクトでしたか? – Rao
は地図オブジェクトですし、mymap.get( "mykey")を使用してリストを返します(これはtoString()メソッドによって文字列として使用されます) – boso92
あなたが試したことや、あなたは問題を引き起こすと思いますか? – Rao