使用Javascript进行字符串操作(NodeJS)

使用Javascript进行字符串操作(NodeJS),javascript,node.js,Javascript,Node.js,我试图用以下代码删除字符串的前13个字符: requestToken = requestToken.substring(13); 但是,我发现NodeJS出现了“没有方法子字符串””错误,上面的代码在Javascript论坛中主要推荐使用,但在NodeJS中不起作用 似乎requestToken可能不是字符串 试一试 然后是requestToken.substring(13) requestToken不能是字符串。它可能是某种类型的对象,而您想要的字符串可能是由该对象的方法或属性返回的。尝试c

我试图用以下代码删除字符串的前13个字符:

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);
}