是否可以从字符串中找到#hashtag 和“http://”链接并为其着色?我在 Android 中使用它。
public void setTitle(String title) {
this.title = title;
}
提前致谢
我找到了答案,这是解决方法:
SpannableString hashtagintitle = new SpannableString(imageAndTexts1.get(position).getTitle());
Matcher matcher = Pattern.compile("#([A-Za-z0-9_-]+)").matcher(hashtagintitle);
while (matcher.find())
{
hashtagintitle.setSpan(new ForegroundColorSpan(Color.BLUE), matcher.start(), matcher.end(), 0);
}
textView.setText(hashtagintitle);
如果你想把COMPOUND WORD分成几个部分。
从
到
您可以在下面使用此代码。
public static List<String> getHashTags(String str) {
Pattern MY_PATTERN = Pattern.compile("(#[a-zA-Z0-9ğüşöçıİĞÜŞÖÇ]{2,50}\\b)");
Matcher mat = MY_PATTERN.matcher(str);
List<String> strs = new ArrayList<>();
while (mat.find()) {
strs.add(mat.group(1));
}
return strs;
}
此函数将返回字符串中所有#hashtags 的列表
public static List<String> getHashTags(String str) {
Pattern MY_PATTERN = Pattern.compile("#(\\S+)");
Matcher mat = MY_PATTERN.matcher(str);
List<String> strs = new ArrayList<>();
while (mat.find()) {
strs.add(mat.group(1));
}
return strs;
}