2016-08-08 9 views
1

Ich verwende Unity 5.3.4 und verwende C#. Ich frage mich, ob es möglich wäre, mit regulären Ausdrücken den Wert in dieser Zeichenfolge zu extrahieren, das tue ich das Zeichen benötigen, wie jetzt negativ ist, aber es muss nicht so sein:Regulärer Ausdruck zum Extrahieren der Zahl mit Vorzeichen zwischen den Anführungszeichen

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

weiß ich dass die Verwendung reguläre Ausdrücke in der Einheit würde es so sein:

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

ich habe mich gefragt, was ein richtiger regulärer Ausdruck sein würde. Ich habe versucht, einige in http://www.regexr.com/ Aber ohne Glück. Ich werde es weiter versuchen.

Antwort

1

Sie folgende reguläre expresstion verwenden können: [-+]?\d+

Bedeutung: das eine oder mehr Ziffern können durch Zeichen folgen.

Demo and Explaination

+0

Ich würde auch ein Escape-Zeichen an die '-' für eine gute Praxis hinzufügen. d.h. '[\ - +]'. Es macht in diesem Fall wenig Unterschied, aber wenn mehr Zeichen hinzugefügt werden, besteht die Gefahr, dass der reguläre Ausdruck bricht. – Skogsv

1

gefunden einfach die Lösung:

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

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

Hoffe, dass es jemand anderes hilft.