假设我想使用正则表达式在字符串中的每个单词之前添加"test".
string MyText="hello world"
string Pattern = "\w+";
Run Code Online (Sandbox Code Playgroud)
我能做到这一点:
Regex.Replace(MyText, Pattern, "test$&")
Run Code Online (Sandbox Code Playgroud)
或这个:
Regex.Replace(MyText, Pattern, m=>"test"+m.Value)
Run Code Online (Sandbox Code Playgroud)
我会得到相同的结果,那么lambda表达式中$&和Value之间的区别是什么?如果结果没有差异,是否存在性能问题?
小智 1
Lambda 是匿名方法,其工作方式与常规方法相同。您的示例中声明的相当于:
string Convert(RegexMatch match) { return "test" + match.Value; }。与使用第一个示例中使用的正则表达式相比,使用此语法可以让您获得更丰富的可能性。
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |