使用正则表达式很困难。我有这样的字符串:
我需要用另一个数字替换这个整数“11.000000”。我如何识别这个字符串,方法是:给予我字符串之前的“%”,直到你达到第一个空格(““)?
mbzjlibv1#
您可以使用LINQ:
var myString = "Fixed Breakeven with 11.0000000% Fees"; var number = myString.Split('%').First().Split(' ').Last();
lx0bsm1f2#
你也可以尝试使用正则表达式。这是从字符串中获取十进制数的通用方法。它适用于所有情况。
public static bool ExtractDecimalFromString(string inputString, out Decimal decimalValue) { Regex regex = new Regex(@"^\D*?((-?(\d+(\.\d+)?))|(-?\.\d+)).*"); Match match = regex.Match(inputString); decimalValue = match.Success ? Convert.ToDecimal(match.Groups[1].Value) : 0; return match.Success; }
ghhaqwfi3#
试试这个:
string pattern = @"^Fixed Breakeven with (\d+(\.\d+)?)% Fees$"; string input = "Fixed Breakeven with 11.0000000% Fees"; var match = Regex.Match(input, pattern); string output = string.Empty; if (match != null) { output = match.Groups[1].Value; }
Produces 11.0000000 .
11.0000000
3条答案
按热度按时间mbzjlibv1#
您可以使用LINQ:
lx0bsm1f2#
你也可以尝试使用正则表达式。这是从字符串中获取十进制数的通用方法。它适用于所有情况。
ghhaqwfi3#
试试这个:
Produces
11.0000000
.