如何在javascript中获取下划线和点之间的文本

How to get text between underscore and dot in javascript

本文关键字:之间 文本 下划线 获取 javascript      更新时间:2023-09-26

如果我有一个如下所示的字符串:

1603202_15.jpg

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

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

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

这假设你想在.之前获取最后一个_之间的字符串(你也可以使用 str.indexOf('.') 顺便说一句)。如果要获取第一个_之间的字符串,只需改用str.indexOf('_')即可。

参考substringlastIndexOf

var result = txt.match( /_([a-zA-Z0-9+)'./ )[ 1 ]
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 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. 然后删除 _ 和 . 以获取内部字符串。