替换Visual Studio正则表达式中的文本
本文关键字:文本 正则表达式 Visual Studio 替换 | 更新日期: 2023-09-27 18:16:19
最近我把我的一些旧代码从vb.net
转换为C#
。
我需要改变我所有现有的代码使用visual studio正则表达式(找到&替换Visual studio 2010 IDE中的对话框)
找到<>之前行( 0 ) .Item ( 0 ) .ToString() 之前替换为<>之前行[ 0 ] [ 0 ] .ToString ()
这意味着<>之前行(——任何——).Item(——任何——).ToString ()来行[—— - - -][——任何——].ToString ()
我搜索了很多,但我仍然无法做到这一点。
提示:我使用的是visual studio 2010我原来的vb.net代码是
Dim firstColumnValue As String = dataTable.Rows(0).Item("firstColumn")
Dim secondColumnValue As String = dataTable.Rows(0).Item("secondColumn")
当我将VB.net转换为c#时,我使用这个插件得到了以下内容,我得到了这个。
var firstColumnValue= dataTable.Rows(0).Item("firstColumn").ToString();
var secondColumnValue = dataTable.Rows(0).Item("SecondColumn").ToString();
但是我想要的是下面的内容
var firstColumnValue= dataTable.Rows[0]["firstColumn"].ToString();
var secondColumnValue = dataTable.Rows[0]["SecondColumn"].ToString();
那vb.net到c#转换工具转换几乎所有的都很好,但我需要在几乎所有的文件上面的变化。
Regex:
Rows'(([^)]*)')'.Item'(([^)]*)')('.ToString'('))
替换字符串:
Rows['1]['2]'3
演示例子:
string str = "foo bar Rows(0).Item(0).ToString() barfoo";
string result = Regex.Replace(str, @"Rows'(([^)]*)')'.Item'(([^)]*)')('.ToString'('))", "Rows[$1][$2]$3");
Console.WriteLine(result);
Console.ReadLine();
IDEONE
:
Rows'({([^)]*)}')'.Item'({([^)]*)}')('.ToString'('))
替换:
Rows['1]['2]'3
使用说明:
find: Rows({'d*}).Item({'d*}).ToString()
替换为:Rows['1]['2].ToString()
和检查使用正则表达式在搜索/替换窗口
您可以使用Microsoft Visual Studio将代码从VB转换为c#。这个简单的Visual Studio 2010/2012插件允许您将VB.net代码转换为c#
下面的正则表达式解决方案也不是那么完美。例如:圆括号内的函数调用,如"foo bar Rows(0).Item(myfunc(n)).ToString() barfoo";