替换sql含有特定字符串的整块内容

问题描述

现在遇到一个问题 String a=" where b = 1 or yylb ='@aa' and c=1 and a='@c' ";中如何替换含有@符号内容整块为1=1字符串,得到结果是String a=" where b = 1 or 1=1 and c=1 and 1=1 ";

解决方案

试试我的这段代码,应该可以解决你的问题,但我觉得应该还有更好的代码//这是你提供的sqlString str=" where b = 1 or yylb ='@aa' and c=1 and a='@c' "; //因为后面要用到空格分组获取条件,首先去掉等号左右的空格,这个不会影响sql语句的执行str=str.replaceAll("\s{0,}=\s{0,}", "=");StringBuffer bufferSql=new StringBuffer(" ");//按一个或多个空格分组String [] strs=str.split("\s{1,}");for (int i = 0; i < strs.length; i++) {if(strs[i].indexOf("@")>-1){bufferSql.append("1=1 ");}else{bufferSql.append(strs[i]+" ");}}System.out.println(bufferSql.toString());//执行结果" where b=1 or 1=1 and c=1 and 1=1 "
解决方案二:
正则表达式,以@开头,以'结尾,全部替换为1';不会写正则就从后往前遍历@,找到@再此基础上找',然后进行文本操作截取替换。

时间: 2024-07-28 22:41:53

替换sql含有特定字符串的整块内容的相关文章

Android仿微信@好友功能 输入@跳转、删除整块

最近在做聊天功能的时候,有一个需求是仿照微信做@好友的功能,本来以为挺简单,但是做到这块的时候,发现和想象的有点不一样,什么整块删除,块可编辑,总之,加个@的功能很简单,但是要做和微信的一样还是费了一些功夫,下面是一个demo仅供参考,防止遗忘 先上个效果图 就是这么个功能 1. 分析需求 输入@跳转到联系人界面,选中一个或者多个好友返回到当前界面 按退格键删除整块内容 块内的内容可编辑,编辑完了之后将不附带@功能,只是单纯的文字 2. 开始编码 既然是文本输入首先继承EditText自定义一个

用友软件-求大神帮忙指点修改SQL数据库中所有特定字符串

问题描述 求大神帮忙指点修改SQL数据库中所有特定字符串 俺有一门水课,看着书一步步地照着做一个用友软件的项目,真的很无聊,记录公司发生的各种交易.我现在想把同学的作业拿过来改一下然后上交.这个用友软件用SQL数据库管理数据.这个用友软件,每个项目有一个账套主管,各种交易需要主管在软件里授权签名.现在我想做的是,首先修改账套主管名字,然而由于各个交易的签字信息不会随账套主管名字改变,我还得修改各个交易的签字. 直观的办法是,直接在SQL里搜索所有值为账套主管名字的字符串,然后替换成我的名字,求S

mysql替换表中的字符串的sql语句_Mysql

核心语句: UPDATE `cdb_pms` SET `subject` = REPLACE(`subject`, 'Welcome to', '欢迎光临') mysql替换字段里数据内容部分字符串 mysql替换表的字段里面内容,如例子: mysql> select host,user from user  where user='testuser'; +-----------------------+----------+ | host                  | user    

SQL Server实现将特定字符串拆分并进行插入操作的方法_MsSql

本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法.分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) > 0 Begin Set @idx = Charindex(',', @UserList); --只有一条数据 If @idx = 0 and Len(@UserList) > 0 Begin Insert Into BIS_MsgCenterInfo(ID,MsgID,UserI

sql CONVERT() 字符串转整型 日期 字符型

sql convert() 字符串转整型 日期 字符型 转换成日期写法 convert(data_type(length),data_to_be_converted,style) 实例 select convert(varchar(30),getdate(),101) now 转换成整型 convert( int, column ) 如我要把手机号转换成整型, select convert(int(8),mo) moint 会报错,为什么,下面我们再看一下实例. select convert(b

SQL Server实现将特定字符串拆分并进行插入操作的方法

本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法.分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) > 0 Begin Set @idx = Charindex(',', @UserList); --只有一条数据 If @idx = 0 and Len(@UserList) > 0 Begin Insert Into BIS_MsgCenterInfo(ID,MsgID,UserI

如何用Replace查询是否包含某个特定字符串

Replace关键字主要是用来将字符串中的某个字符替换成别的字符,今天要为大家介绍下使用它来查询是否包含某个特定字符串,示例代码如下,感兴趣的朋友可以参考下 在sql server中Replace关键字主要是用来将字符串中的某个字符替换成别的字符,今天要逆向思维,它还可以用来查询是否包含某个特定字符串,例如给定下面数据集 期望从这个数据集中获取包含"aaa"字符的记录,注意第2条数据不是包含"aaa",而是包含"aaaa".期望的"&q

Replace关键字的妙用查询是否包含某个特定字符串_MsSql

在sql server中Replace关键字主要是用来将字符串中的某个字符替换成别的字符,今天要逆向思维,它还可以用来查询是否包含某个特定字符串,例如给定下面数据集  期望从这个数据集中获取包含"aaa"字符的记录,注意第2条数据不是包含"aaa",而是包含"aaaa".期望的""结果如下:  传统的思维肯定是想如何查出包含有3个a的字符串,有的人会像用like,但这样会连同4个a也查出来.这里我们就思考用Replace替换掉

Replace关键字的妙用查询是否包含某个特定字符串

在sql server中Replace关键字主要是用来将字符串中的某个字符替换成别的字符,今天要逆向思维,它还可以用来查询是否包含某个特定字符串,例如给定下面数据集   期望从这个数据集中获取包含"aaa"字符的记录,注意第2条数据不是包含"aaa",而是包含"aaaa".期望的""结果如下:   传统的思维肯定是想如何查出包含有3个a的字符串,有的人会像用like,但这样会连同4个a也查出来.这里我们就思考用Replace替