2017-12-07 11 views
0

から正規表現にマッチするキーを削除します。のJava - 私が使用してJsonObjectからキーを削除することができるよJsonObject

String prop = "test"; 
JsonObject o = parser.parse(props).getAsJsonObject(); 
o.remove(prop); 

Iで始まるもののように、JsonObjectから特定のパターンに一致するすべてのキーを削除する必要があります」テスト。*"。キーを反復して一致するのではなく、指定されたパターンに一致するキーを削除する他の方法はありますか?

input: {"test":"0","test_1": "1","test_10":"10", "site":"abc.com"} 
expected output: {"site":"abc.com"} 

ありがとうございます!

+0

あなたはキーの上に –

+0

反復を入力/出力の例をしてください共有し、 'あなたのテスト文字列をcontains'をチェックできます – ajc

答えて

0

ありません。

あなたができる最善のパフォーマンスを向上させるために、ループの前に正規表現をコンパイルします:

Pattern pattern = Pattern.compile(prop); 
Iterator<Entry<...>> it = o.entrySet().iterator(); 
while (it.hasNext()) { 
    Entry<...> entry = it.next(); 
    if (pattern.matcher(entry.getKey()).matches()) { 
     i.remove(); 
    } 
} 
関連する問題