用java语句截取sql字符串的表名和字段

例如,有一个字符串为 sql="update student set name=null,age=18 where no in{"1","2"} "

希望用java语句截取sql字符串里面的表名(table)、字段(name、age、no)...
不要涉及连接数据库,我们不将提取信息储存在数据库中,而是储存在xml文件中
初学java,希望能提供代码参考。。谢谢
最新回答
空自忆

2024-11-22 17:02:23

如果只有一个sql串的话,应该是很难实现的,除非你能知道只有几种固定的sql,基本思路就是indexof和split来拆分了,很麻烦!
追问
能固定sql语句模式,就是 “update  student  set  A="",B="" where C in{}”
能固定成这样,表名student比较好截取,但是因为有多个字段,即set里有A和B,甚至有可能有CDEF之类的,不知道这部分该如何截取
追答
给你思路 ,你自己写写,先在sql字符串中找到“set”,还有"where" ,用indexof,截取中间的部分,比如是这样“name=null,age=18,sex=man” 然后先用“,”分割,用split,然后再“=”分割,最后得到“=”前面的就是 name ,age,sex ,这样说可以吗?
禁区

2024-11-22 09:35:16

截取 set 到where 之间 split(“,”)分隔 ,取=号前面的