如何从文本中提取否定符号

Bru*_*dit 0 c# linq

下面我有一段代码可以从一段文本中提取数字值.所以,如果我有字符串+12 is on same day,那么它将提取12.

但是,如果我有一个负数,-12 is on the same day,我希望它提取-12,而不是12.

我如何提取减号?

foreach (char c in alternativeAirportPrice.Text)
{
    if (char.IsNumber(c))
    {                    
        string test = "-12 on same day";
        string alternativeAirportPriceValue = string.Join("", test.ToCharArray()
                                             .Where(x => char.IsDigit(x)).ToArray());
        return alternativeAirportPriceValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

Swe*_*per 5

您可以使用正则表达式模式:

-?\d+
Run Code Online (Sandbox Code Playgroud)

这将匹配任何数字字符串或-后跟一串数字.

string text = "-12 on the same day";
var match = Regex.Match(text, "-?\\d+");
return match.Value;
Run Code Online (Sandbox Code Playgroud)

记得添加一个using指令System.Text.RegularExpressions!