В Windows при двойном щелчке по тексту будет выделено слово вокруг курсора в тексте.
(Эта функция имеет более сложные свойства, но их не нужно будет реализовывать для этой задачи.)
Например, пусть |
ваш курсор в abc de|f ghi
.
Затем при двойном щелчке def
будет выбрана подстрока .
Ввод, вывод
Вам будет дано два ввода: строка и целое число.
Ваша задача - вернуть слово-подстроку строки вокруг индекса, указанного целым числом.
Ваш курсор может находиться прямо перед или сразу после символа в строке с указанным индексом.
Если вы используете прямо раньше , пожалуйста, укажите в своем ответе.
Технические характеристики (спецификации)
Индекс гарантированно находится внутри слова, поэтому никакие крайние случаи, такие как abc |def ghi
или abc def| ghi
.
Строка будет содержать только печатные символы ASCII (от U + 0020 до U + 007E).
Слово «слово» определяется регулярным выражением (?<!\w)\w+(?!\w)
, где \w
оно определяется [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]
или «буквенно-цифровыми символами в ASCII, включая подчеркивание».
Индекс может быть 1-индексирован или 0-индексирован.
Если вы используете 0-индексированный, укажите это в своем ответе.
Testcases
Тестовые случаи 1-индексированы, и курсор находится сразу после указанного индекса.
Положение курсора только для демонстрационных целей, которые не требуется выводить.
string index output cursor position
abc def 2 abc ab|c def
abc def 5 def abc d|ef
abc abc 2 abc ab|c abc
ab cd ef 4 cd ab c|d ef
ab cd 6 cd ab c|d
ab!cd 1 ab a|b!cd
we're
?
"ab...cd", 3
вернуться?