基于sqlite特殊字符转义的实现方法

时间:2022-06-01 18:21:08

select
* fromtablewhere  number like '%/%%' escape '/'...
    sqlite3数据库在搜索的时候,一些特殊的字符需要进行转义, 具体的转义如下:
     /   ->    //
     '   ->    ''
     [   ->    /[
     ]   ->    /]
     %   ->    /%
     &   ->    /&
     _   ->    /_
     (   ->    /(
     )   ->    /)
需要注意的是,特殊字符并没有用反斜杠“\”表示转义符。

复制代码 代码如下:


public static String sqliteEscape(String keyWord){
    keyWord = keyWord.replace("/", "//");
    keyWord = keyWord.replace("'", "''");
    keyWord = keyWord.replace("[", "/[");
    keyWord = keyWord.replace("]", "/]");
    keyWord = keyWord.replace("%", "/%");
    keyWord = keyWord.replace("&","/&");
    keyWord = keyWord.replace("_", "/_");
    keyWord = keyWord.replace("(", "/(");
    keyWord = keyWord.replace(")", "/)");
    return keyWord;
}