Как получить слово при текущей позиции курсора в текстовой области во flex 4 - PullRequest
0 голосов
/ 02 октября 2011

Я использую flex4 для создания редактора. Там мне нужно получить слово под текущей позицией курсора. скажем, например, это текст в textarea, «Привет, это образец» и курсор под словом «это». Если я нажимаю кнопку, то это «это» слово должно быть возвращено. Все это мне нужно реализовать в flex4 и actionscript3. Пожалуйста, предоставьте любые предложения или помощь.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2013

Мне нужна была такая функция для подсказки кода, этот подход прекрасно работает:

public function currentWord(ta:RichEditableText):String
{
    var wordBegin:int = ta.selectionAnchorPosition;
    var wordEnd:int = ta.selectionAnchorPosition;
    // while the previous char is a word character... let's find out where the word starts
    while (ta.text.charAt(wordBegin-1).search(/\w+/) > -1 && wordBegin > 0 ) { wordBegin--; }
    // while the next char is a word character... let's find out where the word ends
    while (ta.text.charAt(wordEnd).search(/\w+/) > -1 && wordEnd > 0 ) { wordEnd++; }
    return ta.text.substring(wordBegin, wordEnd);
}
0 голосов
/ 02 октября 2011

Взгляните на TextField.caretIndex.Это индексная позиция курсора в текстовом поле.Затем вам нужно извлечь текущее слово, используя эту позицию.Одним из способов является поиск пробелов в обоих направлениях, но я уверен, что есть какое-то необычное Регулярное выражение, которое может сделать это для вас, используя индекс каретки.

...