当前位置:Gxlcms > 数据库问题 > [原]Sql脚本压缩类。

[原]Sql脚本压缩类。

时间:2021-07-01 10:21:17 帮助过:4人阅读

* Sql脚本压缩类。 * 去掉sql语句中多余的空格,以减少sql脚本的文本长度 * * Author : goldli@163.com * DateTime : 2015/07/03 */ using System.Text.RegularExpressions; namespace Sp.Net.Tools { internal class SqlCompressor { public static string Compress(string source) { if (string.IsNullOrEmpty(source)) return "无数据"; //1.去掉所有注释; 行注释 与 块注释 source = LineComment(source); source = BlockComment(source); //2.压缩空格 source = MultipleSpace(source); //3.压缩标点符号 source = Punctuates(source); return source; } /// <summary> /// 去掉行注释 /// </summary> /// <param name="source"></param> /// <returns></returns> private static string LineComment(string source) { //去掉 "--" 开头的行 var x = Regex.Replace(source, "--.*", "", RegexOptions.IgnoreCase | RegexOptions.Multiline); return x; } private static string BlockComment(string source) { //去掉 "/* */" 的行 var x = Regex.Replace(source,@"\/\*.*\*\/","",RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline); return x; } private static string MultipleSpace(string source) { var x = Regex.Replace(source,@"\s{2,}"," ",RegexOptions.IgnoreCase | RegexOptions.Multiline); return x; } /// <summary> /// 空格在标点符号的两侧 /// </summary> /// <param name="source"></param> /// <returns></returns> private static string Punctuates(string source) { var x = Regex.Replace(source,@"\s*([\)\(\,\;\.\:\‘\""\=\+\-\*\/\>\<\!\|\~\^])\s*","$1",RegexOptions.IgnoreCase | RegexOptions.Multiline); return x; } } }

 

[原]Sql脚本压缩类。

标签:

人气教程排行