【问题标题】:Javascript How to get first three characters of a stringJavascript如何获取字符串的前三个字符
【发布时间】: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 仍将等于012123substring 不会改变str 的内容。
  • edit您的问题表明您是如何尝试使用结果的。调用.substring()(或.slice().substr())根本不会改变原始字符串,它会返回一个new 字符串。 str 不会改变,除非你明确地用 str = str.substring(0,3) 覆盖它。
  • 上面的评论是正确的——该方法只是返回你想要的,而不改变原始字符串。因此,您可以将返回值存储在 strFirstThree = str.substring(0,3) 之类的变量中,并且仍然可以完整地访问 str

标签: javascript string


【解决方案1】:

var str = '012123';
var strFirstThree = str.substring(0,3);

console.log(str); //shows '012123'
console.log(strFirstThree); // shows '012'

现在您可以访问两者。

【讨论】:

    【解决方案2】:

    slice(begin, end) 适用于字符串和数组。它返回一个字符串,表示原始字符串的子字符串,从beginend(不包括end),其中beginend 表示该字符串中的字符索引。

    const string = "0123456789";
    console.log(string.slice(0, 2)); // "01"
    console.log(string.slice(0, 8)); // "01234567"
    console.log(string.slice(3, 7)); // "3456"

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2012-06-21
      • 2020-02-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-27
      相关资源
      最近更新 更多