javascript子字符串

Posted

技术标签:

【中文标题】javascript子字符串【英文标题】:javascript substring 【发布时间】:2010-12-31 15:12:34 【问题描述】:

最糟糕的事情!以下代码打印出“llo”而不是预期的“wo”。对于其他一些数字,我得到了如此令人惊讶的结果。我在这里错过了什么?

alert('helloworld'.substring(5, 2));

【问题讨论】:

【参考方案1】:

您混淆了substring()substr()substring() 需要两个索引,而不是偏移量和长度。在您的情况下,索引是 5 和 2,即字符 2..4 将被返回,因为较高的索引被排除在外。

【讨论】:

第二个答案更好;它有例子【参考方案2】:

您在 javascript 中有三个选项:

//slice
//syntax: string.slice(start [, stop])
"Good news, everyone!".slice(5,9); // extracts 'news'

//substring 
//syntax: string.substring(start [, stop])
"Good news, everyone!".substring(5,9); // extracts 'news'

//substr
//syntax: string.substr(start [, length])
"Good news, everyone!".substr(5,4); // extracts 'news'

【讨论】:

【参考方案3】:

查看substringsyntax

子字符串(从,到)

来自 必需。索引到哪里 开始提取。第一个字符 位于索引 0

可选。指数 在哪里停止提取。如果 省略,它提取其余的 字符串

我承认这有点奇怪。我自己都不知道。

你想做的是

alert('helloworld'.substring(5, 7));

【讨论】:

【参考方案4】:
alert('helloworld'.substring(5, 2));

上面的代码是错误的,因为第一个值是起点到终点。例如,从字符 5 移动到 o 并转到字符 2 即 l 所以会得到 llo 所以你告诉它倒退。

你想要的是

alert('helloworld'.substring(5, 7));

【讨论】:

【参考方案5】:

请参阅下面的语法:

str.substring(indexA, [indexB])

如果是indexA > indexBsubstring() 函数的作用就像参数颠倒了一样。

在此处考虑文档: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring

【讨论】:

【参考方案6】:

这就是我所做的......

var stringValue = 'Welcome to India';

// if you want take get 'India' 
// stringValue.substring(startIndex, EndIndex)
   stringValue.substring(11, 16); // O/p 'India'

【讨论】:

以上是关于javascript子字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何更改python字符串子字符串信息

[在python中使用正则表达式搜索字符串子字符串

子串子序列问题

求字符串不同子串个数

使用 Python 的字符串子序列内核和 SVM

带有字符串子字符串的SwiftUI 5.5初始化数组? [关闭]