0
我想突出顯示某些帶有大小寫不敏感的顏色的文本背景。我嘗試了下面的代碼,但它不工作。它只在關鍵字小寫時突出顯示。在文本視圖中突出顯示某些文本背景,不區分大小寫
private static CharSequence highlightText(String search, String originalText) {
if (search != null && !search.equalsIgnoreCase("")) {
String normalizedText = Normalizer.normalize(originalText, Normalizer.Form.NFD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "").toLowerCase().;
int start = normalizedText.indexOf(search);
if (start < 0) {
return originalText;
} else {
Spannable highlighted = new SpannableString(originalText);
while (start >= 0) {
int spanStart = Math.min(start, originalText.length());
int spanEnd = Math.min(start + search.length(), originalText.length());
highlighted.setSpan(new BackgroundColorSpan(Color.YELLOW), spanStart, spanEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
start = normalizedText.indexOf(search, spanEnd);
}
return highlighted;
}
}
return originalText;
}
例如,我有一個原始文本=「我愛Stackoverflow」,關鍵字是「我愛」。我怎樣才能突出顯示「我愛」的文字背景,而不必將其改爲小寫,並維持案例。
謝謝。