Javascript如何获取字符串的前三个字符
Posted
技术标签:
【中文标题】Javascript如何获取字符串的前三个字符【英文标题】:Javascript How to get first three characters of a string 【发布时间】:2017-02-14 15:38:51 【问题描述】:这可能与以前的主题重复,但我找不到我真正需要的。
我想获取字符串的前三个字符。例如:
var str = '012123';
console.info(str.substring(0,3)); //012
我想要这个字符串 '012' 的输出,但我不想使用 subString 或类似的东西,因为我需要使用原始字符串来附加更多字符 '45'。使用子字符串它将输出 01245 但我需要的是 01212345。
【问题讨论】:
在这种情况下,当它是一个字符串时,你会得到字符,而不一定是数字。但我很困惑 - 你 are 得到了字符串的前 3 个字符。那你想做什么? 字符串是不可变的。substring
将返回一个新字符串012
,但str
仍将等于012123
。 substring
不会改变str
的内容。
请edit您的问题表明您是如何尝试使用结果的。调用.substring()
(或.slice()
或.substr()
)根本不会改变原始字符串,它会返回一个new 字符串。 str
不会改变,除非你明确地用 str = str.substring(0,3)
覆盖它。
上面的评论是正确的——该方法只是返回你想要的,而不改变原始字符串。因此,您可以将返回值存储在 strFirstThree = str.substring(0,3)
之类的变量中,并且仍然可以完整地访问 str
。
【参考方案1】:
var str = '012123';
var strFirstThree = str.substring(0,3);
console.log(str); //shows '012123'
console.log(strFirstThree); // shows '012'
现在您可以访问两者。
【讨论】:
【参考方案2】:slice(begin, end)
适用于字符串和数组。它返回一个字符串,表示原始字符串的子字符串,从begin
到end
(不包括end
),其中begin
和end
表示该字符串中的字符索引。
const string = "0123456789";
console.log(string.slice(0, 2)); // "01"
console.log(string.slice(0, 8)); // "01234567"
console.log(string.slice(3, 7)); // "3456"
另见:
What is the difference between String.slice and String.substring?【讨论】:
以上是关于Javascript如何获取字符串的前三个字符的主要内容,如果未能解决你的问题,请参考以下文章