0

文字列をキーと値のペアにトークン化したい。ただし、キーにはアンダースコア、コンマ、スペースなどの文字が含まれます。キーと値のペアは=文字で区切られます

例:

key = value start_time = "2013-03-01 03:20:40" Key withspace = space1 two withspace = space2 key = value key-key key = value key_underscore = 500058 key = value-value key = value_value

必要な出力は

Key = value
start_time = "2013-03-01 03:20:40"
Key withspace = space1
two withspace = space2
key-key key = value
key_underscore = 500058
key = value-value
key = value_value

これは、値をマップに入力してテーブルに配置するのに役立ちます。

StringTokenizer、Patter、String.split()などの既存のメソッドを使用できますか。または、このタイプの出力を取得するために独自の文字列パーサーを作成する必要があります。

これを達成するためのいくつかの最良の方法を確認したいだけです

4

2 に答える 2

3

String.split()正規表現を取ります。キーのセットに一致する正規表現を入れることができる場合は、それを使用できます

于 2013-03-26T04:50:30.047 に答える
1

スペースを含むキーは、少なくとも指定されたルールでは機能しません。key=value - value key= value_valueあいまいです。最後のキーと値のペアは、key = value_valueまたはとして抽出できますvalue key= value_value

于 2013-03-26T05:04:26.477 に答える