сравнение значений regex и string

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
подскажите как сравнить тестовое значение(string) со значением из переменной полученной regex

тоесть есть регулярка

var text = regex.match("blablabla 1", @"\d");

мы положили значение в переменную text

теперь мне надо сравнить, что в эту переменную легло

if (text == "1")
{
return "ok";
}
return "no ok";


проблема в том, что обработчки c# начинает ругаться, что не может сравнить разные типы переменных, конвертация text.toString не помогает...


подскажите в какую сторону копать?
 
Последнее редактирование:

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
if (text == "1") или if (text != "1")
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
if (text == "1") или if (text != "1")
так в том то и проблема, что так не работает
Компиляция кода Ошибка в действии "CS0019" "Оператор "==" не может применяться к операндам типа "System.Text.RegularExpressions.Match" и "string"".
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Convert.ToString(text) вместо text
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
А так?
Код:
if (Convert.ToString(text) == "1")
rostonix опередил:-)
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Код:
if (match.Value == "1")
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
var text = regex.match("blablabla 1", @"\d"); а как ты из этой строки что то получаешь

так вроде работает, а с твоей строки честно не пойму как значение получается и ложится куда то
var regex = new Regex("\\d");
var text = regex.Match("blablabla 1");
if (text.ToString() == "1")
{
return "ok";
}
return "no ok";
 
Последнее редактирование:

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
можно так
C#:
var regex = new Regex("\\d");
var text = regex.Match("blablabla 1").Value.Trim();
if (text == "1")
{
return "ok";
}
return "no ok";
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Код:
Regex reg = new Regex(@"\d");
Match match = reg.Match(text);
if (match.Value == "1")
{
    return "ok";
}
return"no ok";
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
:D Закидали
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
var text = regex.match("blablabla 1", @"\d"); а как ты из этой строки что то получаешь

так вроде работает, а с твоей строки честно не пойму как значение получается и ложится куда то
var regex = new Regex("\\d");
var text = regex.Match("blablabla 1");
if (text.ToString() == "1")
{
return "ok";
}
return "no ok";
да вроде неплохо все получает из этой строки если сделать после regex
return text; то все отлично выводит )
попробую сейчас ваши варианты может выгорит что )
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
да вроде неплохо все получает из этой строки если сделать после regex
return text; то все отлично выводит )
2015-12-23_221327.png
У меня ни как не получается эту строку таким методом запустить
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Посмотреть вложение 10889
У меня ни как не получается эту строку таким методом запустить
очень странно

подозреваю медот написан с маленькой буквы и он считает его переменной
в начальном посте я от руки набивал без регистра, может из-за этого недопонимание
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Всё ясно, а мы гадаем, вот так тогда пропиши var text = Regex.Match("blablabla 1", @"\d").ToString().Trim();
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43

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