问题描述
- Android应用匹配BBcolor代码
- 匹配下面的模式:
[black]something[/black] [orange]something[/orange]
然后改为HTML代码:
<span style=""color:black"">something</span>
但是并没有配对修改成
[black]hello[/orange]
怎么使用正则表达式来识别?
解决方案
public static String bbcode(String text) { String html = text; Map<StringString> bbMap = new HashMap<String String>(); bbMap.put(""\[black\](.+?)\[/black\]""<span style='color: black;'>$1</span>""); bbMap.put(""\[orange\](.+?)\[/orange\]""<span style='color: orange;'>$1</span>""); // add other colors for (Map.Entry entry: bbMap.entrySet()) { html = html.replaceAll(entry.getKey().toString() entry.getValue().toString()); } return html;}
解决方案二:
不需要正则吧
这部分不变
something这部分不变
每个颜色定义一部分字段 类似:String sBlack = ""<span style=""color:black""></span>"";if(yourString.constains(""[black]""&&yourString.constains(""[/black]"")) { //替换内容//中间加入不变的something}
时间: 2024-11-08 18:26:08