我正在尝试从字符串中删除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] nn"
我已经试过这个了:
wording?.replaceAll("\[URL=".*\](.*?)\[/URL\]", "")
我的目标字符串应该是:
Teststring http://www.test.ch/status nn"
但当我运行代码时,它不会取代任何
我做错了什么?
亲切问候
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] nn";
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 nn
Regex:
s*[URL=\".*](.*?)[/URL]|s*[IMG].*?[/IMG]s*
Java正则表达式字符串应该是,
"\s*\[URL=\\".*\](.*?)\[\/URL\]|\s*\[IMG\].*?\[\/IMG\]\s*"
替换字符串:
$1
演示