![](/img/trans.png)
[英]javascript regex to check if first and last character are similar?
[英]javascript regex to extract the first character after the last specified character
我试图在字符串中的最后一个下划线之后提取第一个字符,字符串中包含未知数量的'_',但在我的情况下总会有一个,因为我在该过程的另一个步骤中添加了它。
我试过的是这个。 我也尝试了正则表达式从名称中提取,但我的结果是空的。
var s = "XXXX-XXXX_XX_DigitalF.pdf"
var string = match(/[^_]*$/)[1]
string.charAt(0)
所以最终的期望结果是'D'。 如果RegEx只能告诉我最后'_'背后的内容,那很好,因为我知道我可以使用当前显示的charAt。 但是,如果正则表达式可以完成整个事情,甚至更好。
如果你知道总会有至少一个下划线你可以这样做:
var s = "XXXX-XXXX_XX_DigitalF.pdf"
var firstCharAfterUnderscore = s.charAt(s.lastIndexOf("_") + 1);
// OR, with regex
var firstCharAfterUnderscore = s.match(/_([^_])[^_]*$/)[1]
使用正则表达式,您可以使用括号仅提取一个字母来捕获匹配的那一部分。 但我认为.lastIndexOf()
版本更容易阅读。
无论哪种方式,如果输入中没有下划线,您需要添加一些额外的逻辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.