【发布时间】:2016-09-02 07:13:42
【问题描述】:
我和我的同事拥有不同版本的 VisualStudio。他使用了插值字符串,我无法构建解决方案,不得不将它们全部转换为 string.Format。
现在我认为这可能是正则表达式的好练习。
那么如何转换:
$"alpha: {alphaID}, betaValue: {beta.Value}"
到这里:
string.Format("alpha: {0}, betaValue: {1}", alphaID, beta.Value)
现在变量的数量可以变化(比如说 1 - 20,但应该是通用的)
我想出了这个正则表达式来匹配第一个变量
\$.*?{(\w+)}
但我不知道如何重复美元符号后的部分,所以我可以重复结果。
【问题讨论】:
-
你知道你还需要考虑
{{和}}字面括号吗?这不是正则表达式解析代码的最佳工作。相关:stackoverflow.com/questions/31648824/… -
还告诉他配置他的 VS 版本,使代码不使用 C#6 功能。这是可能的。
-
string.Format($"alpha: {alphaID}, {0}, betaValue: {1} {beta.Value}", varOne, varTwo)之类的应该如何处理?