如何使用子字符串函数,这是啥意思? [复制]
Posted
技术标签:
【中文标题】如何使用子字符串函数,这是啥意思? [复制]【英文标题】:how to use substring function and what does this mean? [duplicate]如何使用子字符串函数,这是什么意思? [复制] 【发布时间】:2018-06-02 04:08:11 【问题描述】:所以我目前正试图弄清楚下面的代码将输出什么。我对 substr 函数感到困惑,所以如果你能解释它会很棒。谢谢
function getAttackString()
var foo = "d32329b34";
var bar = "x38h309hj";
return "The code is: "+(foo.substr(3,foo.length-6))+(bar.substr(2));
console.log(getAttackString());
【问题讨论】:
substring 会让你成为字符串的一部分String.prototype.substr
而foo.length
是不必要的,你可以简单地删除它
那么字符串的输出是什么?对此感到困惑
是否有某些原因导致您无法运行此代码来查看输出并查看 substr
的文档
【参考方案1】:
3298h309hj
foo.substr(3, foo.length - 6 )) => 获取 foo 的 6 个字符的子字符串 从 char 3 = 329 开始比 foo 短
bar.substr(2) => 获取 bar 的子串,从 char 2 开始,返回所有的 chars = 8h309hj
function getAttackString()
var foo = "d32329b34";
var bar = "x38h309hj";
return "The code is: "+(foo.substr(3,foo.length-6))+(bar.substr(2));
console.log( getAttackString() );
【讨论】:
【参考方案2】:
substr()
方法返回从指定位置开始到指定字符数的字符串中的字符。
这个函数的语法是
str.substr(start[, length])
start
:开始提取字符的位置。如果给出负数,则将其视为 strLength + start,其中 strLength 是字符串的长度。例如,str.substr(-3)
被视为str.substr(str.length - 3)
length
:要提取的字符数。如果此参数未定义,则提取字符串从开头到结尾的所有字符。
(https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/String/substr)
所以将它应用到您的代码中:
function getAttackString()
var foo = "d32329b34";
var bar = "x38h309hj";
return "The code is: " + foo.substr(3,foo.length-6) + bar.substr(2);
console.log(getAttackString());
表达式foo.substr(3,foo.length-6)
正在从第4 个字符3
开始提取foo.length-6
(9-6=3
) 字符,从而得到329
。
表达式bar.substr(2)
正在提取从第三个字符8
开始的所有字符(因为第二个参数length
未定义),结果为8h309hj
。
将它们与最终表达式放在一起,您将得到:The code is: 3298h309hj
【讨论】:
以上是关于如何使用子字符串函数,这是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
MFC中 MessageBox 函数字符串前加 L 啥意思??