2 / 2 / 2
Регистрация: 18.08.2011
Сообщений: 51
|
|
1 | |
Regex - выбрать слова с определенными символами22.05.2017, 17:42. Показов 1170. Ответов 4
Метки нет (Все метки)
Как с помощью регулярного выражения можно выбрать все слова (или хотя бы первое) в строке, в которых есть определенный символ, например двоеточие? Можно было бы разбить строку по пробелам в массив и выбрать те элементы (слова), где есть нужный символ, но хотелось бы через Regex, так как может понадобиться дополнительно фильтровать что-либо.
Вот так выглядят входные строки: 1 = "Текст 123:45:900А:10" 2 = "Еще текст 12:60:123 текст" 3 = "Текст 11:56А:89:1 текст 12:89:111:0" Результат: 1 = "123:45:900А:10" 2 = "12:60:123" 3 = "11:56А:89:1" и "12:89:111:0"
0
|
22.05.2017, 17:42 | |
Ответы с готовыми решениями:
4
Regex: выбрать из списка слова с удвоенными согласными Выбрать слова из текста которые состоят только из символов (без цифр) используя Regex Поиск подстроки между определенными символами Вытянуть из строки текст между определенными символами |
930 / 459 / 232
Регистрация: 02.06.2016
Сообщений: 731
|
|
22.05.2017, 18:05 | 2 |
Qwe1, в классическом слове не может быть двоеточий, если под словом подразумевать последовательность без пробельных символов, то можно так:
\S*[:]\S*
0
|
2 / 2 / 2
Регистрация: 18.08.2011
Сообщений: 51
|
|
22.05.2017, 22:22 [ТС] | 3 |
Да, не слова в обычном понимании, а набор символов, среди которых есть заданный. А при указанном шаблоне Regex.Matches для первой строки вернет 3 значения: "3:4", "5:9", "А:0". А это не то, что нужно.
0
|
1099 / 661 / 397
Регистрация: 07.11.2015
Сообщений: 1,062
|
|
22.05.2017, 23:06 | 4 |
Вот никак не может
\S*[:]\S* найти там раздельно 3 значения: "3:4", "5:9", "А:0".По умолчанию квантификаторы жадные и шаблон найдёт "123:45:900А:10".
0
|
2 / 2 / 2
Регистрация: 18.08.2011
Сообщений: 51
|
|
22.05.2017, 23:32 [ТС] | 5 |
Да, действительно, все ищет как надо! Спасибо!
0
|
22.05.2017, 23:32 | |
22.05.2017, 23:32 | |
Помогаю со студенческими работами здесь
5
Как удалить строки с определёнными символами из Memo Удалить из строки всё между определенными символами Считывать куски строки между определенными символами Как скопировать текст между определёнными символами? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |