5

次のコードを使用して、文字列の最初の 13 文字を削除しようとしています。

requestToken = requestToken.substring(13);

しかし、NodeJS で " has no method substring" エラーが発生します。Javascript フォーラムで主に推奨されている上記のコードは、NodeJS では機能しませんか?

4

7 に答える 7

8

requestToken は文字列ではないようです。

試す

requestToken = '' + requestToken;

そして requestToken.substring(13);

于 2012-04-26T17:27:08.627 に答える
5

substring(およびsubstr) は間違いなくノードの文字列プロトタイプの関数です。文字列を扱っていないようです

$ 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
requestToken.toString().slice(13);

また

if(typeof requestToken!="string")
{
   requestToken.toString().slice(13);
}else
{
   requestToken.slice(13);
}
于 2017-03-04T15:39:52.757 に答える
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 に答える