Я пытаюсь получить сегмент большой строки. Я пытался использовать indexOf(), но это полностью терпит неудачу, когда речь идет о повторяющемся тексте. Моя конечная цель состоит в том, чтобы пользователь мог выбирать текст в JTextPane и стилизовать только эту часть текста. У меня уже есть стили для работы с StyledDocuments, и я даже научился стилизовать только текст, который выбирает пользователь, но вот моя проблема.
Скажем так
String alltext = "Быстрая коричневая лиса перепрыгнула через ленивую собаку";
И то, что выделяет пользователь, это String selectedtext
В этом случае скажем так
Строка selectedtext = "коричневый";
Моя цель - получить смещение и длину выделенного текста. Для этого конкретного предложения я могу просто сделать:
int offset = alltext.indexOf(selectedtext);
int length = selectedtext.length();
И это будет работать нормально. А вдруг:
alltext = коричневый коричневый коричневый коричневый коричневый;
И пользователь выделяет третий коричневый цвет. Если я сделаю то же самое, что и раньше, программа просто выберет первый коричневый цвет вместо настоящего и применит стиль к первому.
Есть ли способ обойти это или альтернативу получению позиции сегмента String из большого блока?
Спасибо!
getSelectionStart()
< /a> иgetSelectionEnd()
< /а> - person millimoose   schedule 08.04.2013