首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在带有JS的字符串中查找最后一个单词字符的索引(例如: /\w/ )

在带有JS的字符串中查找最后一个单词字符的索引(例如: /\w/ )
EN

Stack Overflow用户
提问于 2014-03-27 19:41:28
回答 4查看 1.1K关注 0票数 2

我正在寻找一种简单的、快速的方法来查找字符串中最后一个非下划线的单词字符(即数字或字母)的索引。

示例:

lastCharacterIndex("hello world!"); => 10

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-27 19:46:36

使用RegExp.lastIndex

代码语言:javascript
复制
s = "hello world!";
re = /[a-z0-9](?=\W*$)/gi; // global flag is important
re.exec(s);

index = re.lastIndex-1; // 10
票数 3
EN

Stack Overflow用户

发布于 2014-03-27 20:02:43

代码语言:javascript
复制
function lastCharacterIndex(str){
    var m = str.match(/\w[^\w]*$/);
    return null===m ? -1 : str.lastIndexOf(m[0]);    
}
票数 0
EN

Stack Overflow用户

发布于 2014-03-27 20:24:49

您可以搜索一个字母或数字后面只有非字母非数字,并采取匹配的索引(如果有匹配)。

代码语言:javascript
复制
var s = "hello world!";
var re = /[a-z\d][\W_]*$/i;
var match = re.exec(s);
var index = match ? match.index : -1;
alert(index);  // 10

JS中的RegExp匹配是一个数组,但它有两个额外的非整数属性:"index“和"input”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22697613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档