我正在开展一个相当大的项目(c#),从一个地方到另一个地方,我有一些看起来像这样的片段:
((int)foo).ToString() + "," + ((int)bar).ToString() + "," + ((int)zig).ToString() + ...
逗号分隔的字符串具有任意长度(平均范围从1到5,但我不确定是否还有更多)。到目前为止,我能够找到我想要使用的所有事件:
\({.+}\).ToString\(\)( *\+ *"," *\+ *\({.+}\).ToString\(\))*
现在每次发生我想用这样的东西替换它:
{ (int)foo, (int)bar, (int)zig , ...}
手动替换每个事件是不可行的,是否有替换正则表达式来完成这项工作?
由于
答案 0 :(得分:0)
是的,您可以使用正则表达式在Visual Studio中进行查找和替换。
简而言之,您需要对标记表达式使用花括号,并使用\1
,\2
等重复使用它们。
答案 1 :(得分:0)
我可能误解了你的问题,但听起来你已经得到了答案......使用System.Text.RegularExpressions.Regex.Replace(string, string)
。如果需要细粒度控制,请考虑使用名称包装捕获:\((?<foo>.+)\)
(或使用索引)。使用这些捕获,您可以手动执行替换,如果需要循环匹配,然后迭代捕获。