我有一个像这样的长列表
sb.AppendLine(product.product_id.Length.ToString())
我想使用正则表达式搜索和替换来将每一行更改为类似
的内容sb.AppendLine("product.product_id " + product.product_id.Length.ToString())
这可以用正则表达式搜索和替换吗?
我在搜索框中放了什么以及我在替换盒中放了什么?
是否可以使用替换框中匹配框中的匹配项?
答案 0 :(得分:1)
是的,可以使用capturing parentheses。
我认为product_id是可变的 搜索:
sb\.AppendLine\(product\.(.+)\.Length\.ToString\(\)\)
替换:
sb.AppendLine("product.$1 " + product.$1.Length.ToString())
答案 1 :(得分:0)
。在vb .net
中Dim str As String str =“sb.AppendLine(product.product_id.Length.ToString())”
Dim RegexObj As Regex RegexObj = New Regex(“^ sb.AppendLine((。*)。Length.ToString())$”)
Dim res As String res = RegexObj.Replace(str,“sb.AppendLine(”“$ 1”“+ product.product_id.Length.ToString())”)
在c#.net
中string str = null; str =“sb.AppendLine(product.product_id.Length.ToString())”;
正则表达式RegexObj =默认(正则表达式); RegexObj =新的正则表达式(“^ sb \ .AppendLine \((。*)\ .Lo长度\ .ToString \(\)\)$”);
string res = null; res = RegexObj.Replace(str,“sb.AppendLine(\”$ 1 \“+ product.product_id.Length.ToString())”);