在c#中,只从包含括号{的字符串中获取整数值
本文关键字:字符串 获取 整数 包含括 | 更新日期: 2023-09-27 18:02:44
我有一个简单的,非常简单的正则表达式模式,如:
private static string FORMAT_REGEX = @"'{('d)'}";
我有一个像I have {323} dollars
这样的字符串我只想得到323
当我使用
Regex regex = new Regex(FORMAT_REGEX);
Match match = regex.Match(format);
if (match.Success)
{
return match.Groups[0].Value; // here comes {323} instead of 323
}
我确定我的模式是错误的。正确的模式是什么?
只是一个小错误。
您需要在'd
后面加一个加号,像这样:'d+
以捕获所有数字。
你需要得到第一组:match.Groups[1].Value
这是一个。net fiddle
Groups[0]
将始终返回整个捕获。您需要获取Groups[1]
的值。
还需要捕获多个数字:
@"'{('d+)'}";
// not
@"'{('d)'}";
请参阅MSDN: Match中的示例。Groups属性就是一个例子,您可以在其中捕获多个组以及整个字符串。在这个例子中,他们使用'd{n}
来捕获n
数字。