我从数据库中读取字符串,这些字符串被输入到String.Format方法中。如果一个字符串有'{' '}'括号,但这些括号没有被正确地转义为String.Format(即添加另一个'{'来转义它们),那么String.Format将会抛出异常。
字符串具有任何组合的这些括号,因此本质上该方法需要遍历字符串并找出'{'是否有闭合括号以及它们是否形成了一个对于String.Format有效的占位符(例如{5}),那些不需要正确转义的占位符。
我可以编写一个方法来实现这一点,但我想知道.NET中是否内置了任何东西或者已经存在这样的工具?
以下是一个字符串示例:
Hello {0}, please refer to our user manual for more information {or contact us at: XXXX}
您可以看到,在将其输入到String.Format中时,{or contact us at: XXXX}会引发异常。
var s = string.Format("Hello {0} plese {{or contact}}", ... );
- OscarRyz