最近想发布 SQL Script 档案到正式环境时,自动将 Dev 测试脚本部分移除
尝试卡住发问在S.O得到 Nick 解答 c# - How like '#if DEBUG' and '#endif' remove content between two marks - Stack Overflow
举例:
有一个 A.sql 内容:
select
id
,name
/**if DEBUG**/
,test1
,test2
/**endif**/
from table
where sDate >= '2021-01-01'
/**if DEBUG**/
and test1 = '123456'
and test2 = '123456'
/**endif**/
想变成
select
id
,name
from table
where sDate >= '2021-01-01'
可以这样做
void Main()
{
var input = @"
select
id
,name
/**if DEBUG**/
,test1
,test2
/**endif**/
from table
where sDate >= '2021-01-01'
/**if DEBUG**/
and test1 = '123456'
and test2 = '123456'
/**endif**/
";
var output = Regex.Replace(input, @"/\*\*if\sDEBUG\*\*/.*?/\*\*endif\*\*/", "", RegexOptions.Singleline);
Console.WriteLine(output);
}
注意:特别使用 RegexOptions.Singleline
因为它将整个输入字符串视为一行,忽略了换行符。
觉得有帮助可以帮 Nick 点个 Upvote ^__^
<<: JS30 Day 27 - Click and Drag学习笔记
>>: 商业秘密(Trade Secret) & 版权(Copyright) & 专利(Patent) & 商标(Trademark)
Agenda 资安宣言 测试环境与工具 学习目标 前情提要 技术原理与程序码 References ...
软件工程的范围极其广泛。软件工程的某些方面可以归类为数学或计算机科学;其他方面属於经济、管理或心理学...
前面在写传送资料这一块时,有些环节没有思考妥当,导致问题丛生,所以这边先进行部分重新调整。 登入和发...
前面我们使用pvc放置训练好的model档好让seldon可以读取, 但放置模型档到pvc之中的过程...
filtertype -4 Grouping code filterdata remarks &q...