我有基于RhinoScript框架的javascript代码:
function cleaner(tracker) {
var nRegex = new RegExp(reggo);
var regexMatch = tracker.match(nRegex);
if (regexMatch == null || regexMatch == "" || regexMatch.length <= 0) {
return tracker;
}
tracker = tracker.replace(nRegex, "");
return tracker;
}
但是我得到了它的例外:
异常:InternalError:Java构造函数替换的选择 匹配JavaScript参数类型(函数,字符串)是不明确的; 候选构造者是: class java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence) class java.lang.String replace(char,char)(#114)
我尝试了一些但没有按预期工作。有什么想法吗?
答案 0 :(得分:0)
在这种情况下看起来像“跟踪器”是一个Java对象,但你希望它是一个JS字符串。您需要调试其他代码以找出它的设置。
如果行为是故意的,并且您确实想要选择一种Java方法或另一种方法,则可以通过更改来实现:
tracker = tracker.replace(nRegex, "");
要:
tracker = tracker['replace(char,char)'](nRegex, "");
// ...or...
tracker = tracker['replace(java.lang.CharSequence,java.lang.CharSequence)'](nRegex, "");
但是,当然,在这种情况下,nRegex可能不是char或CharSequence。