首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的JavaScript代码初学者结合indexOf和切片

简单的JavaScript代码初学者结合indexOf和切片
EN

Stack Overflow用户
提问于 2018-09-02 13:04:38
回答 2查看 1K关注 0票数 1

我正在尝试一本关于JavaScript关于indexOflastIndexOf方法的入门书。它告诉我把“第二次世界大战”变成“第二次世界大战”。我想写

在历史教科书中,第二次世界大战是第一次世界大战之后。

但输出是

在历史教科书中第二次世界大战

代码语言:javascript
复制
var text = "in history textbook World War II is after World War I"

var firstChar = text.indexOf("World War II");
if (firstChar !== -1) {
    text = text.slice(0, firstChar) + "the Second World War" + text.slice(firstChar, 12);
}
alert(text);

我的问题是,替换后的字符串是如何保持不消失的?

非常感谢您的投入。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-02 13:18:51

如果您想让它普遍可用,我建议您除了更正错误之外,还应该像这样修改代码片段:

代码语言:javascript
复制
var text = "in history textbook World War II is after World War I"

var searchTerm = 'World War II';
var firstChar = text.indexOf(searchTerm);
var cutLength = searchTerm.length;
if (firstChar !== -1) {
  text = text.slice(0, firstChar) + "the Second World War" + text.slice(firstChar + cutLength);
  }
console.log(text);

这将从实际字符串中获取长度(因此可以搜索任意字符串),还可以在要替换的术语之后正确分割。

票数 2
EN

Stack Overflow用户

发布于 2018-09-02 13:17:01

试试下面的代码:

代码语言:javascript
复制
text = text.slice(0, firstChar) + "the Second World War" + text.slice(firstChar+12,text.length);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52137321

复制
相关文章

相似问题

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