2016-08-21 3 views
-4

Я работаю над приложением android, где у меня есть надпись на ярлыке, и когда пользователь постучал по слову, пользователь может заменить это слово, моя проблема заключается в том, все слова, которые похожи на слово прослушиваемого, заменяются, потому что я использую .replace, мне нужно заменить только слово, которое используется только для прослушивания.Как заменить слово в строке в java без использования .replace

+1

Можете ли вы поделиться кодом? –

+3

Вам нужно получить «начальный индекс точки» и «конец индекса», чтобы манипулировать определенной строкой в ​​определенной строке. – Enzokie

+0

Как именно вы обнаруживаете, какое слово прослушивается? –

ответ

0

Я уже выяснить, решение, я использовал ...

int indexStart = labelCode.getSelectionStart(); 
int indexEnd = labelCode.getSelectionEnd(); 
String a = codeText.substring(0,indexStart); 
String b = codeText.substring(indexEnd,codeText.length()); 
String finalAns = a+newVar+b; 

Я Spannable ... .getClickableSpan обнаружить повернутое слово на этикетке

0

Как сказал ранее Энцоки, вы должны взглянуть на начальный и конечный индексы слова, которое вы хотите удалить.

Если я правильно понял, вы хотите заменить слово, которое выбрал пользователь. Класс String имеет множество методов, которые действительно полезны для такого рода вещей. То, что вы хотели бы использовать, - это метод String str String str String. Это находит первый индекс первого вхождения слова. Если вы не хотите первого появления, другие методы аналогичной функции доступны здесь: http://www.tutorialspoint.com/java/java_string_indexof.htm

После того, как у вас есть начальный и конечный индексы, вы можете просто поместить «» в позиции до следующего места (конец слова). Затем вы можете использовать метод String insert() с позицией, которую вы обнаружили ранее, чтобы поместить новое слово, где существовал старый.

Надеюсь, это было полезно.

+0

. Добавьте пример кода. –

Смежные вопросы