首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用JS按范围从字符串中删除字符串

如何使用JS按范围从字符串中删除字符串
EN

Stack Overflow用户
提问于 2018-08-28 01:22:54
回答 3查看 1.4K关注 0票数 1

我不知道在JS中通过范围从文本中删除文本的简单方法。

我在那里读了很多问题,但没有人帮我。

我不想用户替换,等等。只是删除。

示例:

jakxxxjakxxx => remove 4-6 returns jakjakxxx

jakxxxjakxxx => remove 0-2返回xxxjakxxx

有没有什么函数是标准的js库?

EN

回答 3

Stack Overflow用户

发布于 2018-08-28 01:33:34

我会提供一个与Nina不同的解决方案,下面是两个子串调用:

代码语言:javascript
运行
复制
function remove(string, from, to) {
  return string.substring(0, from) + string.substring(to);
}

不需要转换为迭代字符的数组。

注意:请记住,我们从0开始计数。

票数 4
EN

Stack Overflow用户

发布于 2018-08-28 01:28:53

你可以过滤字母。

代码语言:javascript
运行
复制
function remove(string, from, to) {
    return [...string].filter((_, i) => i < from || i > to).join('');
}

console.log(remove('jakxxxjakxxx', 4, 6)); // jakjakxxx 
console.log(remove('jakxxxjakxxx', 0, 2)); // xxxjakxxx
                    012345678901

或者切线。

代码语言:javascript
运行
复制
function remove(string, from, to) {
    return string.slice(0, from) + string.slice(to);
}

console.log(remove('jakxxxjakxxx', 4, 6)); // jakjakxxx 
console.log(remove('jakxxxjakxxx', 0, 2)); // xxxjakxxx

票数 3
EN

Stack Overflow用户

发布于 2018-08-28 01:41:13

基于你在评论中的跟进:使用.substring().replace(),记住Javascript (像几乎所有其他语言一样)使用从0开始的偏移量,而不是1,并读取substring function documentation以确保其参数被提供为“开始位置,包括,结束位置,排除”:

代码语言:javascript
运行
复制
var a = "jakxxxjakxxx";
var b = "jakxxxjakxxx";

var c = a.replace(a.substring(3,6)); // => "jakjakxxx"
var d = b.replace(a.substring(0,3)); // => "xxxjakxxx"

好了。如果您经常使用它,请将它放在它自己的函数中,如果您经常使用它,但为了实现您想要的目标,您只需要两个内置函数,但是您不应该做的一件事是尝试使用您个人选择的数字来指示字符串或切片中的哪个索引:使用JS约定,不要在源代码中烘焙反模式。

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

https://stackoverflow.com/questions/52044195

复制
相关文章

相似问题

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