【发布时间】:2016-09-27 12:31:49
【问题描述】:
我从服务器获取一个字符串并想将其拆分,以使用SpannableStringBuilder 设置不同的颜色。
例如,我得到如下字符串:
" Hi Mr Xyz, Please visit [Paris::FRANCE] and [Rome::ITALY] once."
我想为 Paris 和 Rome 设置不同的颜色。我可以使用以下方法将巴黎和罗马分开:
Pattern pattern = Pattern.compile("\\[([^\\]]+)]");
Matcher matcher = pattern.matcher(wholeString);
while (matcher.find())
{
System.out.println(matcher.group(1));
}
但是如何拆分主字符串??
【问题讨论】:
-
也许您可以使用
replaceAll("\\[([^\\]:]+)::([^\\]]*)]", "<color name="$2">$1</color>")? :) 好吧,另一种选择是将此正则表达式与appendReplacement一起使用,以使用Paris和Rome来搜索相应的颜色代码。 -
只是从原来的字符串中减去找到的字符串?
-
但我想为巴黎和罗马设置不同的颜色
-
@Akshay,阅读第一条评论
-
@Vyacheslav bro 评论在我放我的时候被编辑了。