0

以下のような文字列がある場合:

1603202_15.jpg

_と の間のテキストを抽出したい.。文字列には任意の数のアンダースコアを含めることができますが、ドットは 1 つしかないことに注意してください。

4

5 に答える 5

1

_単純な文字列操作 (拡張子にno があると仮定):

var result = str.substring(str.lastIndexOf('_') + 1, str.lastIndexOf('.'));

_これは、最後の前の文字列の間の文字列を取得することを前提としています.(ところで、使用することもできstr.indexOf('.')ます)。最初 の の間の文字列を取得したい場合は、代わり_に使用してください。str.indexOf('_')

参考substringlastIndexOf

于 2012-05-10T10:15:07.460 に答える
0
var input='1603202_15.jpg';
var regex=/\_.*\./;
var result=regex.exec(input);

あなたに_15を与えます。次に、_とを削除します。内側の文字列を取得します。

于 2012-05-10T11:02:36.733 に答える
0
var str = "123_456_789.jpg";
var value = str.substring(str.lastIndexOf("_") + 1 , str.indexOf("."));
于 2012-05-10T10:18:56.770 に答える
0
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]);​
于 2012-05-10T10:12:43.487 に答える
0
var result = txt.match( /_([a-zA-Z0-9+)\./ )[ 1 ]
于 2012-05-10T10:14:24.033 に答える