文字列にnotaという文字列があります。いくつかのテキストがあります。私が望むのは、特定の単語の色を* *を含むフレーズから変更することです。例:それは素晴らしい*です。 awesome
という単語は黄色で、* *文字は消去する必要があります(*がミニのマークダウン形式であるかのように)。私はこのコードを試しましたが、うまくいきませんでした。助けが必要です。文字の置き換えや文字色の変更を行うAndroid
* * awesome!
Hello boy! * *
Hello* * boy!
でもない:.Contains("* *")
を使用して
if(nota.contains("* *")){
//nota = nota.replace("* *","");
Pattern pattern = Pattern.compile("\\*.*\\*");
Matcher matcher = pattern.matcher(nota);
// Check all occurrences
matcher.find();
Spannable spannable = new SpannableString(nota);
spannable.setSpan(
//new ForegroundColorSpan(Color.YELLOW), nota.indexOf("* *"), nota.indexOf("* *") + "* *".length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
new ForegroundColorSpan(Color.YELLOW), matcher.start() + 1 , matcher.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
txtnota.setText(spannable);
}
を私はあなたのコードを試してみました。私はあなたの歩みに沿って '*素晴らしい* 'を入れましたが、何も変わりませんでした。 asthesicsは見えて、素晴らしい黄色は挿入されていません。 –