2 momo1199 Momo1199 于 2013.07.29 14:46 提问

Android应用匹配BBcolor代码

匹配下面的模式:

[black]something[/black] [orange]something[/orange]

然后改为HTML代码:<span style="color:black">something</span>

但是并没有配对修改成 [black]hello[/orange]

怎么使用正则表达式来识别?

2个回答

Kakalapa1986
Kakalapa1986   2013.07.29 15:17
已采纳
public static String bbcode(String text) {
    String html = text;

    Map<String,String> 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;
}
cj6585256
cj6585256   2013.07.29 14:52

不需要正则吧
这部分不变

something这部分不变

每个颜色定义一部分字段 类似:String sBlack = "<span style="color:black"></span>";
if(yourString.constains("[black]"&&yourString.constains("[/black]")) {
 //替换内容
//中间加入不变的something
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!