gpt4 book ai didi

android - 如何在字符串中使用 **text** 来粗体文本

转载 作者:行者123 更新时间:2023-11-29 18:35:48 26 4
gpt4 key购买 nike

我想将 ** 之间的文本加粗。我已尝试使用以下代码但没有成功。它正在将整个文本创建为粗体。

Original String : **Hi**, My Name is **XYZ** with **PQR**"

Want Output : Hi, My Name is XYZ with PQR

这是我尝试过的。

private SpannableStringBuilder getText() {
String message = "**Hi**, My Name is **XYZ** with **PQR**";
Pattern p = Pattern.compile(".+.+(.*?).+.+");
Matcher matcher = p.matcher(message);

SpannableStringBuilder spannable = new SpannableStringBuilder(message);
StyleSpan span = new StyleSpan(Typeface.BOLD);
while (matcher.find()) {
spannable.setSpan(span, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return spannable;
}

最佳答案

请使用此代码解决上述问题

 private SpannableStringBuilder getActivityText(String message) {
Pattern p = Pattern.compile("(\\*\\*)(.*?)(\\*\\*)");
Matcher matcher = p.matcher(message);

SpannableStringBuilder spannable = new SpannableStringBuilder(message);
List<StyleSpan> spans = new ArrayList<>();
//for making text bold
while (matcher.find()) {
StyleSpan span = new StyleSpan(Typeface.BOLD);
spannable.setSpan(span, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spans.add(span);
}
//for removing ** text
for (StyleSpan span : spans) {
spannable.replace(spannable.getSpanStart(span), spannable.getSpanStart(span) + 2, "");
spannable.replace(spannable.getSpanEnd(span) - 2, spannable.getSpanEnd(span), "");
}

return spannable;
}

关于android - 如何在字符串中使用 **text** 来粗体文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54438769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com