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

Nick

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

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

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

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

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

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

daVinchi

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

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

doc

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

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

Nick

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

Dr.Pipetka

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

Nick

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

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

material

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

Nick

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

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