Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript.replace中使用变量_Javascript_Android_Regex_Variables_Webview - Fatal编程技术网

在Javascript.replace中使用变量

在Javascript.replace中使用变量,javascript,android,regex,variables,webview,Javascript,Android,Regex,Variables,Webview,我正在尝试在android的webview中为javascript注入replace方法 此代码适用于: { mWebView.loadUrl("javascript:(function(){" + "document.body.innerHTML = document.body.innerHTML.replace('hello', 'hi');" + "})()");

我正在尝试在android的webview中为javascript注入replace方法

此代码适用于:

       {
            mWebView.loadUrl("javascript:(function(){" +
                    "document.body.innerHTML = document.body.innerHTML.replace('hello', 'hi');" +
                    "})()");
            }
但是,我希望使用变量,而不是将字符串放在方法中。我尝试使用正则表达式,但似乎不起作用

        {
            String old = "hello";
            String new = "hi";

            mWebView.loadUrl("javascript:(function(){" +
                    "var ol = new RegExp(old,'g');" +
                    "document.body.innerHTML = document.body.innerHTML.replace(ol, new);" +
                    "})()");
            }

我的代码有问题吗?

在将变量传递到这样的字符串中时,必须引用这些变量

{
    String old  = "hello";
    String _new = "hi";

    mWebView.loadUrl("javascript:(function(){" +
                    "var ol = new RegExp("+old+",'g');" +
                    "document.body.innerHTML = " +            
                    "document.body.innerHTML.replace(ol, " +_new+ ");" +
                    "})()"
    );
}

请注意,
new
是一个保留关键字,不应用作变量名

,因此您要计算它?
new RegExp(“+old+”,'g')
。替换(ol,“+new+”)
var似乎无法识别其中的文本作为字符串…有什么方法可以解决这个问题吗?对不起,我原以为这会起作用,并将其标记为answer,但当我将其放入代码中时,它就不起作用了。