[原]Sql脚本压缩类。
2015-07-07 15:56
369 查看
精简的美丽
/* * 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 Server 存储过程可选参数
- 对SQL连接池的理解
- MySQL基于SSL的主从复制、半同步复制
- oracle 获取数据库中所有的表的注释,获取表的所有的列的注释
- mysql 热备份2
- MySQL优化之——日志
- 简述sqlldr的使用
- mysql延迟复制实现
- 使用LR的ODBC协议进行mysql数据库测试
- 计算redis qps
- SQL语句将某字段查询出以逗号隔开
- 自动备份数据库并通过bat 实现自动上传到ftp服务器
- mongodb C++调用查询DEMO
- dbcp数据库连接池的配置
- 查看sedna创建的数据库和集合,文档之类
- postgreSQL copy与\copy的区别
- oracle connect by start with 总结
- MySQL详解-------数据库备份和还原
- Redis TTL 为0
- macbook之brew安装mysql