如果我有如下字符串:
1603202_15.jpg
我想提取 和 之间的_
文本.
。请注意,字符串中可以包含任意数量的下划线,但其中只有一个点。
简单的字符串操作(假设_
扩展中没有):
var result = str.substring(str.lastIndexOf('_') + 1, str.lastIndexOf('.'));
这假设您想要获取_
之前的最后一个字符串.
(您也可以使用str.indexOf('.')
btw。)。如果要获取第一个之间的字符串, _
只需使用即可str.indexOf('_')
。
var res = '1603202_15.jpg'.match(/_(\d+)\./);
console.log(res[1]);
http://jsfiddle.net/zerkms/cpQR3/
PS:您需要在访问其第二个元素之前检查是否res
不是null
PPS:如果可能有任何东西,而不仅仅是数字,那么使用
var res = '1603202_15.jpg'.match(/_([^._]+)\./);
console.log(res[1]);
var result = txt.match( /_([a-zA-Z0-9+)\./ )[ 1 ]
var str = "123_456_789.jpg";
var value = str.substring(str.lastIndexOf("_") + 1 , str.indexOf("."));
var input='1603202_15.jpg';
var regex=/\_.*\./;
var result=regex.exec(input);
会给你_15。然后删除 _ 和 . 获取内部字符串。