0

Rhino JavaScript プログラムで Java 文字列を分割しようとしています

var s = new java.lang.String("1 2 3");
s.split();

私にエラーを与える

js: メソッド java.lang.String.split() が見つかりません。

Rhino のドキュメントでは、すべての javascript String.prototype メソッド (match、split など) は、java.lang.String によってまだ提供されていない場合、Java 文字列で使用できると述べています。ここで何が起こっているかについてのアイデアはありますか?

4

5 に答える 5

3

Java ドキュメントを見てみましょう: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

split メソッドの 0 パラメータ コンストラクタではないようです。正規表現を渡す必要があります。

また、さらに明確にするために、split メソッドは文字列配列を返します。これは、サンプル コードで使用した方法のような void メソッドではありません。

于 2009-06-24T06:26:21.747 に答える
2

split は引数を取ります。これは、トークンを分割するために使用する正規表現です。

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

于 2009-06-24T06:27:02.757 に答える
2

Rhinojava.lang.Stringは不足しているメソッドのみを提供し、split明らかにそれらの 1 つではありません。

JavaScript の の実装を使用するにはsplit、Java 文字列を JavaScript の文字列に変換する必要があります。

var s = String(new java.lang.String("1 2 3"));
// Also valid: var s = "" + new java.lang.String("1 2 3");
print(s.split()); // 1 2 3
于 2011-10-29T09:26:16.503 に答える
1

まったく同じコンテキストではありませんが、誰かを助けるかもしれません。

Rhino で JavaScript 関数 split() を使用します。

物事を機能させるために、私は次のパターンに従います。

var l_VAR = "" + some_function();
var l_VARs = l_VAR.split("%%");

"" + は、Rhino が JavaScript 型の String を使用するように強制すると思います。

「」+を追加するのを忘れると、メッセージが表示されました

TypeError: split is not a function.
于 2012-02-07T15:45:10.970 に答える
0

間違った使い方をしている可能性があります。
分割には文字列パラメーターは必要ありませんか?

于 2009-06-24T06:26:10.263 に答える