【发布时间】:2016-11-06 03:39:28
【问题描述】:
我有以下输入字符串:
String text = "Cast(@myvar AS datetime)";
有什么方法可以提取使用正则表达式的变量和数据类型吗?
预期输出:
name ='@myvar'
type ='datetime'
【问题讨论】:
-
什么是“CAST”?你的问题似乎太具体了;仅举一个例子,不清楚什么可以变化,因此也不清楚提取您想要的部分需要什么。 [例如,您可以简单地以固定偏移量获取 text 的子字符串,但这通常可能不起作用]
-
实际上我的最终目标是在一个 SQL 文件中找到所有 Cast 语句并将它们替换为 Convert 语句。例如。 Cast(@myvar AS datetime) 被转换为 Convert(datetime,@myvar)。知道如何在 C# 中做到这一点
-
你的意思是这个 cast/convert 的定义:msdn.microsoft.com/en-us/library/ms187928.aspx 如果你忽略风格,它们看起来是等价的,那么你为什么需要改变任何东西呢?
-
是的,但我需要将其作为业务需求来实施以符合标准。所以我需要创建一个实用程序,以编程方式将 Cast 语句替换为等效的 convert 语句
-
如果只有几百个,您只需手动操作,每个操作 1-2 分钟即可节省时间。还有更多吗?
标签: c# regex pattern-matching