Я разрабатываю одно приложение для Windows. В моем приложении я хочу получить последнее введенное слово в текстовое поле не последним словом. И я хочу изменить последнее введенное слово на клавишу пробела. Я получаю последнее слово на ключевой до события, как это:Получить последнее введенное слово в текстовом поле Windows phone 8
private async void mytxt_KeyUp_1(object sender, KeyRoutedEventArgs e)
{
if (e.Key == Windows.System.VirtualKey.Space || e.Key == Windows.System.VirtualKey.Enter)
{
if (string.IsNullOrWhiteSpace(textBox_string) == false)
{
string[] last_words = Regex.Split(textBox_string, @"\s+");
int i = last_words.Count();
last_words = last_words.Where(x => x != last_words[i-1]).ToArray(); last_word = last_words[last_words.Count() - 1];
last_word = last_word.TrimStart();
}
}
}
Я получаю последнее слово по этому методу, но на самом деле я хочу, чтобы получить последнее введенный пользователем слова. Значение, если пользователь перемещает курсор прямо в середину текстового поля и набирает любое слово, тогда я хочу получить это слово в нажатой клавише пробела; Я хочу положение этого слова и могу изменить это слово программно и обновить текстовое поле. Например, если пользователь вводит
H !! мое имя vanani
но затем пользователь перемещает курсор непосредственно после того, как «имя» и «типов является Сохан»
H !! меня зовут sohan
тогда я хочу получить слово и позицию 'is' и то же самое для 'sohan' в событии ввода текста в текстовом поле. Мне нужно место, чтобы заменить это слово другим словом и обновить текстовое поле новым новым текстом.
Я видел эти вопросы. winforms - get last word.. и C# how to get latest char.., но они мне не помогли. Пожалуйста, помогите мне.
Try position = Regex.Match (текст, @ "\ S * (? = \ S $)"). Индекс –
после проверки Regex.IsMatch (текст, тот же шаблон) –
Я не могу понять. Вы имели в виду индекс SelectionStart из текстового поля ??? –