2016-08-08 5 views
1

Я использую Unity 5.3.4 и используя C#. Мне было интересно, если можно было бы извлечь с регулярными выражениями значения в этой строке, мне нужен знак, как и сейчас является отрицательным, но это не должно быть так:Регулярное выражение для извлечения числа со знаком между кавычками

string str = " "rssi": "-56", " 

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

str = Regex.Replace(str, "*regular expression*", String.Empty); 

Мне было интересно, что будет правильным регулярным выражением. Я пробовал некоторые в http://www.regexr.com/ Но не повезло. Я буду продолжать пытаться.

ответ

1

Вы можете использовать следующие регулярные expresstion: [-+]?\d+

Значение: получить один или несколько цифр может сопровождаться знаком.

Demo and Explaination

+0

Я хотел бы также добавить экранирующий символ в '-' для хорошей практики. т. е. '[\ - +]'. В этом случае это мало чем отличается, но если добавлено больше символов, существует риск нарушения регулярного выражения. – Skogsv

1

Просто нашел решение:

Regex rgxNumber = new Regex("([-+]{0,1}[0-9]+)"); 
Match mNumber = rgxNumber.Match(str); 

string result = mNumber.Groups[1].Value; 

Надеется, что это помогает кому-то еще.

Смежные вопросы