怎么把字符串逗号相隔的都加上双引号

ajdkjalj 2018-12-11 04:58:06
我获取了一个字符串"1,2,3,4",因为我想拼成sql语句的where条件 where id in ("1","2","3","4"),我要怎么处理才能达到效果
...全文
876 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Silly-77 2018-12-11
  • 打赏
  • 举报
回复

String s = "1,2,3,4";
//将,替换为"," \是转译
s.replaceAll(",", "\",\"");
StringBuffer sb = new StringBuffer(s);
//在字符串前面插入"
sb.insert(0,"\"");
//在字符串末尾追加"
sb.append("\"");

输出结果为:"1,2,3,4"

如果使用mybatis的话,有更便捷的方式的

<insert id="insRolesById" parameterType="java.util.List">
insert into roles_menus (roleid,menuid) values
<foreach collection="param2" item="roleList" open="(" close=")" separator="),(" >
#{param1},#{roleList}
</foreach>
</insert>

输出结果为:insert into roles_menus (roleid,menuid) values (1,2),(1,3),(1,3)
nayi_224 2018-12-11
  • 打赏
  • 举报
回复
System.out.println("where id in (\"" + "1111,2,33,4".replaceAll(",", "\",\"") + "\"),");
podd 2018-12-11
  • 打赏
  • 举报
回复
可以用正则
podd 2018-12-11
  • 打赏
  • 举报
回复
截取成数组传进去就行了

50,538

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧