首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除除JavaScript中最后一个以外的特定单词?

删除除JavaScript中最后一个以外的特定单词?
EN

Stack Overflow用户
提问于 2016-11-14 00:02:20
回答 3查看 265关注 0票数 1

我有一个句子,我希望只有最后的‘和’剩余,并删除其他。

“狮子,老虎,熊,大象”,我想把它变成:

狮子、老虎、熊和大象。

我尝试过使用regex模式,比如str = str.replace(/and([^and]*)$/, '$1');,它显然不起作用。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-14 00:11:04

使用这个判据

代码语言:javascript
复制
and (?=.*and)
  • and匹配任意一个,后面跟着一个空格。空间是匹配的,因此它在替换时被移除,以防止有两个空格。
  • (?=.*and)是一种前瞻性,这意味着它只有在后面跟着.*and,如果后面跟着和

使用以下代码:

代码语言:javascript
复制
str = str.replace(/and (?=.*and)/g, '');
票数 4
EN

Stack Overflow用户

发布于 2016-11-14 00:10:21

您可以使用一个正面的前瞻性(?=...),以查看在当前匹配之前是否还有另一个and。您还需要使用g使regex全局化。

代码语言:javascript
复制
function removeAllButLastAnd(str) {
  return str.replace(/and\s?(?=.*and)/g, '');
}

console.log(removeAllButLastAnd("Lions, and tigers, and bears, and elephants"));

票数 1
EN

Stack Overflow用户

发布于 2016-11-14 00:11:10

代码语言:javascript
复制
var multipleAnd = "Lions, and tigers, and bears, and elephants";
var lastAndIndex = multipleAnd.lastIndexOf(' and');
var onlyLastAnd = multipleAnd.substring(0, lastAndIndex).replace(/ and/gi, '')+multipleAnd.substring(lastAndIndex);
console.log(onlyLastAnd);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40580193

复制
相关文章

相似问题

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