0

如果我有如下字符串:

1603202_15.jpg

我想提取 和 之间的_文本.。请注意,字符串中可以包含任意数量的下划线,但其中只有一个点。

4

5 回答 5

1

简单的字符串操作(假设_扩展中没有):

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

这假设您想要获取_之前的最后一个字符串.(您也可以使用str.indexOf('.')btw。)。如果要获取第一个之间的字符串 _只需使用即可str.indexOf('_')

参考substringlastIndexOf

于 2012-05-10T10:15:07.460 回答
0
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]);​
于 2012-05-10T10:12:43.487 回答
0
var result = txt.match( /_([a-zA-Z0-9+)\./ )[ 1 ]
于 2012-05-10T10:14:24.033 回答
0
var str = "123_456_789.jpg";
var value = str.substring(str.lastIndexOf("_") + 1 , str.indexOf("."));
于 2012-05-10T10:18:56.770 回答
0
var input='1603202_15.jpg';
var regex=/\_.*\./;
var result=regex.exec(input);

会给你_15。然后删除 _ 和 . 获取内部字符串。

于 2012-05-10T11:02:36.733 回答