【解決済】イベント名から囲われた数値の取得

アバター
あっすん
記事: 10
登録日時: 2017年9月29日(金) 11:26

【解決済】イベント名から囲われた数値の取得

投稿記事by あっすん » 2017年10月03日(火) 23:05

お世話になります。
イベント名から特定の記号等で囲われた数値の取得についてお聞きしたいのですが

コード: 全て選択

var aaa = $dataMap.events[11].name
var bbb = aaa.replace(/[^0-9^\.]/g,"");
var ccc = parseInt(bbb, 10);

上記で一応数値の取得自体はできたのですが例えばイベント名が EV011 モブ[2] だった場合
全ての数値を取得してしまい結果は 112 となってしまいます。
イベント名の [] で囲われた 数値の2 だけを取得する方法を教えて頂ければありがたいです。
どうぞよろしくお願いいたします。
最後に編集したユーザー あっすん on 2017年10月04日(水) 00:25 [ 編集 1 回目 ]

アバター
ツミオ
記事: 83
登録日時: 2017年4月02日(日) 13:46
連絡を取る:

Re: イベント名から囲われた数値の取得

投稿記事by ツミオ » 2017年10月03日(火) 23:47

こんばんは。
イベント名に[]が一つしか使われていないことが前提ですが、以下のようなコードはいかがでしょうか。

コード: 全て選択

    var target = 'EV011 モブ[2]';
    var result = target.match(/\[(\d+)\]/);
    console.log(result[1]);//結果は2


resultには最初にマッチした文字列全体と、サブマッチ文字列(丸括弧でくくられている部分)が配列として入っています。
【Twitter】https://twitter.com/TsumioNtGame/
【GitHub】https://github.com/Tsumio/rmmv-plugins

有償の依頼も募集中。
今まで有償で制作したものは実績をご覧ください。
アバター
あっすん
記事: 10
登録日時: 2017年9月29日(金) 11:26

Re: イベント名から囲われた数値の取得

投稿記事by あっすん » 2017年10月04日(水) 00:22

ツミオさん

こんばんは。
早速のご返信ありがとございます!
無事に 数値の2 取得できました。
マッチ、サブマッチ、勉強になります。
今回もお世話になりありがとございました!

“MV:質問” へ戻る