如果我有如下字符串:
“第一部分{0}另一个{1},最后是{2}”
如何解析它以提取“{0}”,“{1}”和“{2}”组件
答案 0 :(得分:2)
Regex regex = new Regex(@"\{[0-9]+\}");
var matches = regex.Matches("part one {0} another {1} and finally {2}");
// matches contains "{0}", "{1}", {2}
如果占位符始终为单位数,请删除"+"
。
答案 1 :(得分:0)
RegEx可能很慢。如果您需要更高的性能(因为您可能正在使用此格式解析许多字符串),通常可以更好地手动解析它。只要你有好的标记就行。例如,如果您尝试解析的字符串中出现“另一个”或“最后”这个词,则可能会出现问题。否则,您可以使用'IndexOf'和'Substring'的组合轻松地拆分此字符串。
答案 2 :(得分:0)
试试这个,它很脏但会起作用(如果你知道要移除多少个值),那么阅读你的代码的人将能够阅读它。
String newString = String.Format(myString, String.Empty, String.Empty, String.Empty);
或者您可以使用字符串数组而不是使用String.Empty, String.Empty, String.Empty
...