javascriptで、

下記のような文字列を、
1行ごとに連想配列に入れるにはどんなコードを書けば良いでしょうか。

連想配列のキーは【】内の文字列、値は【】に続く行末までとします。

▼▼▼文字列ここから▼▼▼
【名前】山田太郎
【生年月日】1970年1月1日
【趣味】野球
....以下続く。どこまであるかは不明。
▲▲▲文字列ここまで▲▲▲

こんな風に→
ar['名前'] = '山田太郎';
ar['生年月日'] = '1970年1月1日';
....以下続く。どこまであるかは不明。


となるように。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/08/22 22:21:31
  • 終了:2011/08/27 08:27:18

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4596ベストアンサー獲得回数19352011/08/22 23:09:19

ポイント100pt

一行の文字列から、キーと値を切り出すところの質問だと思って回答。

こんな感じになると思うんだけど。

var re = /【([^】]+)】(.*)/    // キーと値を切り出すための正規表現
var arr = []                   // 結果を突っ込む連想配列

for (...) {    // 一行ずつのループ
    var s = ...    // 一行を表す文字列
    var aa
    if (aa = re.exec(s)) {
        arr[aa[1]] = aa[2]    // 連想配列にセット
    }
}
  • id:pacochi
    あんまりきれいじゃないのですが、こういうやり方でもできました。

    var str = "【名前】山田太郎\n【生年月日】1970年1月1日\n【趣味】野球\n";
    var prof = {};
    str.replace(/【(.*?)】(.*)/g, function(line, key, val) { prof[key] = val; });

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません