Help us understand the problem. What is going on with this article?

javascriptのmatchメソッドで戻り値より任意の数字、英文字を切り出す

More than 1 year has passed since last update.

javascriptで文字列からmatchメソッドで数字と英文字を抜き出す記述になります。

var filename = '20181012MEMBER.csv';
var result = filename.match(/(\d+)([A-Za-z]+)\.csv$/i);

console.log(result);

\d+は0〜9の数字の繰り返しで、[A-Za-z]+は英文字の繰り返しです。
iオプションは大文字小文字を区別しません。

matchメソッドの戻り値

結果はマッチしている場合、以下の配列が返ります。
マッチしていない場合はnullが返ります。

[ '20181012MEMBER.csv',
  '20181012',
  'MEMBER',
  index: 0,
  input: '20181012MEMBER.csv' ]

配列キーの0 : マッチした文字列
配列キーの1 : 数字の繰り返し部分
配列キーの2 : 英文字の繰り返し部分
配列キーのindex : マッチした場所(0から数える)
配列キーのinput : インプットした元の文字列

上記のような結果が返りますので、任意の文字列を抜き出したことになります。
数値部分を使うのであれば、
var date = result[1]

文字列部分を使うのであれば
var kind = result[2]

単にファイル名がマッチするか確認するのであれば
if (result[0] !== null)

のように利用可能です。

bitarx
京都でWeb制作をしています。
https://bitarx.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした