"Содержит ли переменная подстроку?" - Как вы узнаёте?

Nick

Client
Регистрация
22.07.2014
Сообщения
1 984
Благодарностей
817
Баллы
113
Такое действие частенько бывает нужно: если в переменной не содержится какого-то кусочка текста, выйти по красной.

Обычно я угрюмо листаю варианты в "Обработка текста", но там ничего подходящего нет.

Тогда я создаю кубик C# и пишу там if(str.Contains("value"))return true; else return null;

А всё-таки, есть какой-то подходящий экшн в "Обработке текста"?

Отдельно бесит, что возомнить себя умником и использовать вариант "Замена", то хрен вам по всему фейсу. Этот кубик ВСЕГДА возвращает зелёный результат, хотя во всех остальных редакторах при попытке заменить то, чего нет, вы получите отдельное сообщение об ошибке.

В общем, предложение - добавить туда вариант Contains (содержит ли) и/или чек-бокс как в Regex: "Ошибка при пустом ответе".
 

daVinchi

Client
Регистрация
11.01.2019
Сообщения
60
Благодарностей
68
Баллы
18
Обычно я угрюмо листаю варианты в "Обработка текста", но там ничего подходящего нет.
Есть, же: Обработка текста -> Regex

1. В поле "Regex" - пишешь, то, что ты ищешь.
2. Ставишь галочку - Ошибка при пустом ответе.
 
  • Спасибо
Реакции: Sergodjan

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113
Есть, же: Обработка текста -> Regex

1. В поле "Regex" - пишешь, то, что ты ищешь.
2. Ставишь галочку - Ошибка при пустом ответе.
только регекс такой сначала надо экранировать
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 984
Благодарностей
817
Баллы
113
Ох... почитал на свежую голову - действительно! Но для этого надо лезть в конструктор регулярок?
Что-то больно неудобно для такого базового действия.
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 315
Благодарностей
869
Баллы
113
  • Спасибо
Реакции: Sergodjan и Nick

Nick

Client
Регистрация
22.07.2014
Сообщения
1 984
Благодарностей
817
Баллы
113
Проблема с Regex в том, что он ориентирован на замену. Нет опции "Не сохранять результат в переменную". В итоге - куча авто-переменных, которые захламляют проект.

Кроме того: точки и другие спец-символы нужно экранировать, иначе он молча перестанет находить нужные вхождения.
 
  • Спасибо
Реакции: material

material

Client
Регистрация
23.03.2021
Сообщения
329
Благодарностей
124
Баллы
43
Присоединяюсь к ТС было бы здорово найти подходящее решение на C#. Сейчас использую вариант с Regex, но как было сказано выше он больше похож на костыль, чем на оптимальное решение поставленной задачи.
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 984
Благодарностей
817
Баллы
113
Нужно сделать по аналогии с блоком "Замена" - с двумя отличиями:
- убрать поле "Сохранить в переменную".
- "Замена" сейчас никогда не выходит по красной - а надо бы. И тут тоже, если не нашлось - выходим по красной.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)