Проверить число на соответствие маске

165
08 апреля 2019, 09:40

Есть трехзначное число в string - "123", оно может быть указано с помощю маски - "XXX", маска соотвестственно охватывает не только "123" а и все трехзначные в даном случае числа. Маска может быть задана и с помощю чисел, например так - "1XX" где она указывает на все трехзначные числа с "1" на 0 позиции (100 - 199) или к примеру так - X1X где она указывает на все трехзначные числа с "1" на позиции 0 (010, 011, 012 ... 110, 111, 112 ... 210, 111 ...). Как проверить что число (не только трехзначное) соответсвует маске? У меня особенно трудно с вариантом X1X так как здесь два X.Я разделяю строку на substring (все комбинации) и проверяю состоит ли каждый substring только из "X" таким образом получаю позиции и длину всех подстрок с "X" внутри строки зная исходное число: например "123" и маску "XXX" мне нужно лишь проверить вхождение числа в 0 - 999, другой пример: "123" и маска "XX3" я знаю что у меня на 0 позиции 2 X т.е мне нужно сравнить 12 с 0-99 и 3 с 3, а вот "123" и "X1X" - я знаю что X на 0 позиции длиной в 1 (0 - 9) и X на 2 позиции тоже длиной в 1. Мне нужно сравнить 2 с 1 в даном случае)

Answer 1

Превратите вашу маску в регулярное выражение, заменив в маске каждый X на \d и и дальше проверяйте используя регулярные выражения.

READ ALSO
Объединение двух таблиц в одну с подсчетом дней

Объединение двух таблиц в одну с подсчетом дней

Не могу решить задачу, кажется очень сложной

117
Получить информацию о текущем проекте Visual Studio

Получить информацию о текущем проекте Visual Studio

Разрабатываю расширение для Visual Studio 2017Необходимо получить информацию о текущем проекте (конкретно интересует путь к файлу проекта и путь...

158
Как поделить string (C#)?

Как поделить string (C#)?

Есть переменная string формата 15|11

152
Как решить проблему с параграфами?OpenXML

Как решить проблему с параграфами?OpenXML

Возникла проблема с вставкой параграфа перед другим параграфом в OpenXMLПопытка клонировать узел нужный результат не приносит

165