使用Javascript进行字符串操作(NodeJS)
我试图用以下代码删除字符串的前13个字符:使用Javascript进行字符串操作(NodeJS),javascript,node.js,Javascript,Node.js,我试图用以下代码删除字符串的前13个字符: requestToken = requestToken.substring(13); 但是,我发现NodeJS出现了“没有方法子字符串””错误,上面的代码在Javascript论坛中主要推荐使用,但在NodeJS中不起作用 似乎requestToken可能不是字符串 试一试 然后是requestToken.substring(13) requestToken不能是字符串。它可能是某种类型的对象,而您想要的字符串可能是由该对象的方法或属性返回的。尝试c
requestToken = requestToken.substring(13);
但是,我发现NodeJS出现了“
没有方法子字符串”
”错误,上面的代码在Javascript论坛中主要推荐使用,但在NodeJS中不起作用 似乎requestToken可能不是字符串
试一试
然后是requestToken.substring(13)
requestToken
不能是字符串。它可能是某种类型的对象,而您想要的字符串可能是由该对象的方法或属性返回的。尝试console.log(requestToken)
,看看这到底是什么
您还需要.slice()
来删除字符串的前面
你可能会得到这样的结果:
myString = requestToken.someProperty.slice(13);
substring
(和substr
)肯定是节点中字符串原型上的函数;听起来你不是在处理字符串
$ node
> "asdf".substring(0,2)
'as'
首先将
requestToken
转换为字符串:
requestToken = (requestToken+"").slice(13);
将其强制为字符串可能无法解决您的问题。log(typeof(requestToken))可能会为您提供错误的线索。尝试检查您的对象/变量:
console.log( JSON.stringify(yourObject) );
或者是按类型分类的
console.log( typeof yourVariable );
或
不是答案,但子字符串(0,13)不会删除前13个字符。我认为这是无效语法。是指
requestToken=“+requestToken;”
位。您是否缺少“
?哦,我明白了。很抱歉造成混淆,它显示为我的双引号。=]
console.log( typeof yourVariable );
requestToken.toString().slice(13);
if(typeof requestToken!="string")
{
requestToken.toString().slice(13);
}else
{
requestToken.slice(13);
}