java - ReplaceAll() 未按预期工作并将辅助线程外部的值传递到主线程

标签 java android html multithreading

两个问题:

已解决 将 $ 替换为另一个特殊字符 @ 并解决了问题。 问题1
我有一个变量 String strVar ,其中包含以下文本(它从文件中读取)。现在我尝试使用 replaceAll() 替换文本(例如 $pixeltrackers$ 替换为 "sampletext"),但它并没有替换这个特定的文本字符串,可能是由于引号和空格等。可能的解决方案是什么?

<html>
    <head>
        $pixeltrackers$
    </head>
    <body>
        <div>
            <a href="$clickurl$"><img src="$iconurl$"/></a><h1>$headlinetext$</h1>
        </div>
        <div>
            <h2>$descriptiontext$</h2>
        </div>
        <div>
            <a href="$clickurl$"><img src="$mainurl$"/></a>
        </div>
        <div>
            <h3>Rating: $ratingtext$</h3>
            <form action="$clickurl$">
                <input type="submit" value="$ctatext">
            </form>
        </div>
        <div>
            <h6>by: $advertisertext$</h6>
        </div>
    </body>
</html>

问题2
我有一个带有 try-catch block 的线程。在 try block 内,我将 HTML 存储在一个变量中,我想将其加载到 web View 中。现在Android/Java不允许Webview在主线程之外的任何地方被调用。

如何在线程范围之外传递此字符串变量值?

最佳答案

问题1

String#replaceAll将正则表达式的 String 表示形式作为其第一个参数。

$ 字符是正则表达式的特殊字符,表示输入的结束。 将其转义为 \\$ 以将其作为文字引用。

否则,请使用 String.replace,它不采用正则表达式。


问题2

提出一个新问题并发布您的代码。

关于java - ReplaceAll() 未按预期工作并将辅助线程外部的值传递到主线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611084/

相关文章:

java - 我可以使用 jUnit 更改测试类的执行顺序吗?

android - 我在 Android 动画中得到 NullPointerException?

android - 如何让一个特性既可以读又可以写?

php - Laravel <br> 到换行符

java - 无法使用 java 反射更改静态最终字段?

java - 所有业务逻辑都在存储过程中

java - 尽管我可以构建其他项目,但此环境中没有提供编译器

android - 我在哪里可以找到将 Android.mk 转换为 Android.bp 的 androidmk 工具?

html - css如何去除左边的空白区域

html - 如何使用 XPath 在另一个子元素之后选择子文本