В настоящее время я пытаюсь выяснить, как сделать текст полужирным , Курсив или подчеркнуть динамическую строку из API, текст, который должен быть выделен жирным шрифтом, выглядит как * полужирный *, курсив обозначается _ italic_ и подчеркивается как # underline # (та же функциональность, что и Stackoverflow).
После успешного преобразования текста я также хочу удалить специальные символы.
Текст из API -
* Я смелый * и люблю видеть себя и других тоже.
Ожидаемый ответ - Я жирный и люблю видеть себя и других тоже.
Я пробовал код, который не работает, если я пытаюсь создать курсив после полужирного, а также, если я пытаюсь удалить специальные символы.
TextView t = findViewById(R.id.viewOne);
String text = "*I am Bold* and _I am Italic_ here *Bold too*";
SpannableStringBuilder b = new SpannableStringBuilder(text);
Matcher matcher = Pattern.compile(Pattern.quote("*") + "(.*?)" + Pattern.quote("*")).matcher(text);
while (matcher.find()){
String name = matcher.group(1);
int index = text.indexOf(name)-1;
b.setSpan(new StyleSpan(Typeface.BOLD), index, index + name.length()+1, SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
}
t.setText(b);
Я не хочу использовать теги HTML