以下のような文字列がある場合:
1603202_15.jpg
_と の間のテキストを抽出したい.。文字列には任意の数のアンダースコアを含めることができますが、ドットは 1 つしかないことに注意してください。
以下のような文字列がある場合:
1603202_15.jpg
_と の間のテキストを抽出したい.。文字列には任意の数のアンダースコアを含めることができますが、ドットは 1 つしかないことに注意してください。
_単純な文字列操作 (拡張子にno があると仮定):
var result = str.substring(str.lastIndexOf('_') + 1, str.lastIndexOf('.'));
_これは、最後の前の文字列の間の文字列を取得することを前提としています.(ところで、使用することもできstr.indexOf('.')ます)。最初 の の間の文字列を取得したい場合は、代わり_に使用してください。str.indexOf('_')
var input='1603202_15.jpg';
var regex=/\_.*\./;
var result=regex.exec(input);
あなたに_15を与えます。次に、_とを削除します。内側の文字列を取得します。
var str = "123_456_789.jpg";
var value = str.substring(str.lastIndexOf("_") + 1 , str.indexOf("."));
var res = '1603202_15.jpg'.match(/_(\d+)\./);
console.log(res[1]);
http://jsfiddle.net/zerkms/cpQR3/
PS:2番目の要素にアクセスする前に、そうresでないかどうかを確認する必要がありますnull
PPS:数字だけでなく、何かある可能性がある場合は、使用します
var res = '1603202_15.jpg'.match(/_([^._]+)\./);
console.log(res[1]);
var result = txt.match( /_([a-zA-Z0-9+)\./ )[ 1 ]