java - 在 Java 中对某些字符序列的大字符串进行查找/替换的最有效方法

标签 java string search contains

我想知道什么是最快、最有效的方法(使用 JAVA)来搜索大字符串并进行查找替换,例如:

寻找

'http://www.stackoverflow.com' 

在一个长字符串的正文中并将其替换为

'<a href="http://www.stackoverflow.com">http://www.stackoverflow.com</a>' 

现在,在您建议使用 XSL 执行此操作之前,它已经是不可能的了。

简而言之,我想知道如何在长字符串中找到 URL 的任何实例,并用适当的元素将其包装起来,这样当页面呈现在网络上时,它就会自动链接。谢谢。

最佳答案

正则表达式来拯救!看这题Regular expression to match URLs in Java

只需使用从 Matcher 中查找和替换而不是像上一个问题那样只是找到它。

为了完整起见,这里是 some code那就是你想要的。

注意:假设您有一个 anchor 标记,其 URL 已经在要替换的字符串中,您不能使用 REGEX,并且必须将文本解析为 HTML,并且在运行正则表达式替换之前只查看文本节点。

关于java - 在 Java 中对某些字符序列的大字符串进行查找/替换的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8931631/

相关文章:

java - 如何检查数组是否有足够的位置来接受 Java 中数组的新值?

string - 如何对Redis中所有Key的值求和

c# - 在 Byte[] 数组中查找第一个特定字节 c#

.net - 基于规则/限制返回对象列表的算法

java - 变量定义中带有 findViewById 的 NullPointerException

java - 在 Java 中创建到 http 服务器的 TLS1.2 连接

字符串相似度 -> Levenshtein 距离

ios - objective-c -按词搜索

java - Struts 和 AJAX 的问题

java - Android MainDexClassList 构建错误