我试图从字符串中删除BBCode。
这是myString:
String wording = "Teststring
[URL=\"http://www.test.ch/status\"]http://www.test.ch/status[/URL] [IMG]http://sit.corproot.net/uploads/659_untitled.png[/IMG] \n\n"
我已经尝试过这个:
wording?.replaceAll("\\[URL=\".*\\](.*?)\\[/URL\\]", "")
我的目标字符串应为:
Teststring http://www.test.ch/status \n\n"
但是当我运行代码时,它并没有替换任何东西
我做错了什么?
亲切的问候
答案 0 :(得分:0)
正则表达式:
\s*\[URL=\\".*\](.*?)\[\/URL\]|\s*\[IMG\].*?\[\/IMG\]\s*
Java正则表达式字符串将是,
"\\s*\\[URL=\\\\\".*\\](.*?)\\[\\/URL\\]|\\s*\\[IMG\\].*?\\[\\/IMG\\]\\s*"
替换字符串:
$1
答案 1 :(得分:0)
public static void main(String[] args) {
String s = "Teststring URL=\"http://www.test.ch/status\"]http://www.test.ch/status[/URL] [IMG]http://sit.corproot.net/uploads/659_untitled.png[/IMG] \n\n";
Pattern p = Pattern.compile("(?s)^(\\w+)[^\\[]+\\[URL=\"(.*)\"\\].*");
Matcher m = p.matcher(s);
if (m.matches()) {
System.out.println(String.format("%s %s \\n\\n", m.group(1), m.group(2)));
}
}
输出:
Teststring http://www.test.ch/status \n\n