在Android中读取自定义HTML标记并创建链接

时间:2015-06-30 10:59:07

标签: android regex hyperlink

我从服务器那里得到文字:

sample text [myurl]link|http://sample.com[/myurl] and [myurl]link2|http://sample2.com[/myurl].

我需要从这些标签创建链接。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

我想你需要使用这样的东西:

String s = "sample text [myurl]link|http://sample.com[/myurl]";
System.out.println(s.replaceAll("\\[([^\\]]+)\\]([^|]+)\\|(http.+?)\\[/\\1\\]", "<a href=\"$3\">$2</a>"));

请参阅IDEONE demo

<强> REGEX

  • \[ - 文字[
  • ([^\]]+) - 除]
  • 以外的1个或多个字符
  • \] - 文字]
  • ([^|]+) - 除|
  • 以外的1个或多个字符
  • \| - 文字|
  • (http.+?) - 以http开头的子字符串,然后是任意字符,但最新的字符为...
  • \[/ - 文字[/
  • \1 - 对第一组捕获的文本的反向引用(BB标记名称)
  • \] - 文字]

输出:

sample text <a href="http://sample.com">link</a>