5

我正在尝试使用以下代码删除字符串的前 13 个字符:

requestToken = requestToken.substring(13);

但是,我在has no method substring使用 NodeJS 时遇到“”错误,Javascript 论坛中主要推荐的上述代码不适用于 NodeJS?

4

7 回答 7

8

似乎 requestToken 可能不是字符串。

尝试

requestToken = '' + requestToken;

然后 requestToken.substring(13);

于 2012-04-26T17:27:08.627 回答
5

substring(and substr) 绝对是 node 中字符串原型上的函数;听起来你不是在处理字符串

$ node
> "asdf".substring(0,2)
'as'
于 2012-04-26T17:28:17.677 回答
2

先转换requestToken成字符串:

requestToken = (requestToken+"").slice(13);
于 2012-04-26T17:28:59.543 回答
1

requestToken那么一定不能是字符串。它可能是某种对象,并且您想要的字符串可能由该对象的方法或属性返回。试着console.log(requestToken)看看那到底是什么。

您还希望.slice()删除字符串的前面。

你最终可能会得到类似的东西:

myString = requestToken.someProperty.slice(13);
于 2012-04-26T17:27:48.110 回答
0

将其强制为字符串可能无法解决您的问题。console.log(typeof(requestToken)) 可能会为您提供有关问题所在的线索。

于 2012-04-26T19:07:11.030 回答
0

尝试检查您的对象/变量:

console.log( JSON.stringify(yourObject) );

或者它的类型

console.log( typeof yourVariable );
于 2013-06-12T12:47:41.313 回答
0
requestToken.toString().slice(13);

或者

if(typeof requestToken!="string")
{
   requestToken.toString().slice(13);
}else
{
   requestToken.slice(13);
}
于 2017-03-04T15:39:52.757 回答