有没有一种方法可以确定字符串的格式是否正确?

时间:2012-08-01 07:54:50

标签: c# .net

我有一个场景,用户可以输入格式字符串来格式化一些参数。 如何根据.NET Framework(C#)中的特定参数计数确定格式字符串无效?
框架中是否有任何方法可以做到这一点?或者我必须尝试手动方式?

示例情况:

string format = "test {0}, {1}";
var res = string.Format(format, 23);

2 个答案:

答案 0 :(得分:3)

您可以使用Regex验证字符串的格式,在MSDN上的文章

下面

http://msdn.microsoft.com/fr-fr/library/system.text.regularexpressions.regex.aspx

答案 1 :(得分:0)

解析格式字符串并不总是直截了当,因为计算了大括号的转义(参见documentation),但正则表达式和Regex.Matches().Count应该足够准确:

string format = "test {0}, {1}";
var expectedParameters = Regex.Matches(format, "(?<!\\{)\\{[^}]*?\\}").Count;