我像这样从服务器获取文本:
sample text [myurl]link|http://sample.com[/myurl] and [myurl]link2|http://sample2.com[/myurl].
我需要从这些标签创建链接。我该怎么做?
最佳答案
我猜你需要使用这样的东西:
String s = "sample text [myurl]link|http://sample.com[/myurl]";
System.out.println(s.replaceAll("\\[([^\\]]+)\\]([^|]+)\\|(http.+?)\\[/\\1\\]", "<a href=\"$3\">$2</a>"));
参见 IDEONE demo
正则表达式:
\[
- 文字[
([^\]]+)
-] 以外的 1 个或多个字符
\]
- 文字]
([^|]+)
-|
以外的 1 个或多个字符
\|
- 文字|
(http.+?)
- 以http
开头的子字符串,然后是除新字符之外的任何字符,直到...\[/
- 文字[/
\1
- 对第一组捕获的文本的反向引用(BB 标签名称)\]
- 文字]
。
输出:
sample text <a href="http://sample.com">link</a>
关于android - 在 Android 中读取自定义 HTML 标签并创建链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31136427/