• SQL关键字转换大写核心算法实现


    1 不跟你多废话 上代码!

     View Code

    2 原理

      第一步 :将一个SQL语句字符串拆开来,拆成 字符串-符号串-字符串-符号串-符号串-字符串 这样

      第二步 :然后判断字符串是不是关键字,是的话就转成大写

      第三部 :再将这些串拼起来

    3 实现

      原理看似很简单,但实现却不简单。

      要处理两个问题

        1 不可能全转换之后再处理拼接,所以必须边拼接边转换

        2 状态切换,什么时候推送

      实现步骤

        1 源串打碎成char数组

        2 拼接 重点是判断 如何确定 字母和符号状态,以及在状态切换至将缓冲区推送。详情看代码

        3 最后要再做一次,因为遍历之后最后一个串没有机会被推送

    4 使用效果

      

    5 后记

      最近公司修改了SQL规范,要求SQL关键字大写,诶,我写了那么多没上线,都要改。作为一个程序员,这肯定是可以用代码来干的啊。

      于是,我动手百度!对我没有自己写,我懒。

      百到了一个工具,为了安全起见,我反编译了工具,看了看代码。没危险。但是啊,看不懂,功能倒是实现了。

      于是我就先用着把我的SQL都改了。

      但是我觉得,我看不懂啊,没学到。我想自己去实现!

      于是随后的几天我开始思索如何来将SQL关键字变大写,又不会影响其他的部分,包括回车换行这些不可见符号(就是不能用不可见符号做分割,因为如果有相连的不可符号,切割之后会丢失)。

      在公司的年会上

      我终于想到了,看着我身旁的妹子们(我同事),诶亚,好激动。

      利用闲暇时间,写了这个,独立的思考没有参考我找的的工具的代码。

      核心算法发出来,一起学习与交流。

  • 相关阅读:
    PNG文件格式具体解释
    opencv2对读书笔记——使用均值漂移算法查找物体
    Jackson的Json转换
    Java实现 蓝桥杯VIP 算法训练 装箱问题
    Java实现 蓝桥杯VIP 算法训练 装箱问题
    Java实现 蓝桥杯VIP 算法训练 单词接龙
    Java实现 蓝桥杯VIP 算法训练 单词接龙
    Java实现 蓝桥杯VIP 算法训练 方格取数
    Java实现 蓝桥杯VIP 算法训练 方格取数
    Java实现 蓝桥杯VIP 算法训练 单词接龙
  • 原文地址:https://www.cnblogs.com/chenliyang/p/6543627.html
Copyright © 2020-2023  润新知