我有一个字符串:
var str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit";
有没有办法使用正则表达式找到字符串中最长的单词?这将阻止我将字符串拆分为单词然后循环遍历所有字符串。
可能我可以在JavaScript中使用它:
str.search(/regex/); // should return 28 (position of word 'consectetur')
感谢。
答案 0 :(得分:0)
检查此更新LINK
JS代码:
var str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit";
str = str.replace(/[^A-Za-z\s]/g, " ");
var maxoffset = 0, maxlen=0, wordoffset = 0;
for (var i = 0; i < str.length; i++) {
if (str[i] == " ") {
wordoffset = i + 1;
}
if (i - wordoffset + 1> maxlen) {
maxoffset = wordoffset;
maxlen = i - wordoffset + 1;
}
}
return str.substring(maxoffset, maxoffset + maxlen);