下面我有一段代码可以从一段文本中提取数字值.所以,如果我有字符串+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)
您可以使用正则表达式模式:
-?\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!