社区
Java SE
帖子详情
被斜杠被晕了
sinpinle
2009-06-26 03:16:08
问题是这样子,在数据库中我需要有转义\,因为我是通过关键字查询的,你比方说like '%'pe%',我要查找的数据只是'pe,所有要在java中把keyword变成\keyword,但是java如下:
if(keyword.starsWith("'")){
keyword = "\\\\" + keyword;
}
结果总是有出错,希望哪位点拔一下,晕头了都
...全文
133
16
打赏
收藏
被斜杠被晕了
问题是这样子,在数据库中我需要有转义\,因为我是通过关键字查询的,你比方说like '%'pe%',我要查找的数据只是'pe,所有要在java中把keyword变成\keyword,但是java如下: if(keyword.starsWith("'")){ keyword = "\\\\" + keyword; } 结果总是有出错,希望哪位点拔一下,晕头了都
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sinpinle
2009-06-26
打赏
举报
回复
keyword=java.io.File.separator + keyword;
解决了,谢谢各位
sinpinle
2009-06-26
打赏
举报
回复
mysql 我的意思很简单,我就是把用户输入的keyword变成 “\”+ keyword,因为用户数据可能有这样的数据'XXX,而'xxx通过数据库的时候肯定会出错,所以要转义
shi676879453
2009-06-26
打赏
举报
回复
keyword = "'''" + keyword ;
我用的SQL-SERVER OK
不用\
txf_7337
2009-06-26
打赏
举报
回复
用System.getProperty(String key)
key:
java.version
Java 运行时环境版本
java.vendor
Java 运行时环境供应商
java.vendor.url
Java 供应商的 URL
java.home
Java 安装目录
java.vm.specification.version
Java 虚拟机规范版本
java.vm.specification.vendor
Java 虚拟机规范供应商
java.vm.specification.name
Java 虚拟机规范名称
java.vm.version
Java 虚拟机实现版本
java.vm.vendor
Java 虚拟机实现供应商
java.vm.name
Java 虚拟机实现名称
java.specification.version
Java 运行时环境规范版本
java.specification.vendor
Java 运行时环境规范供应商
java.specification.name
Java 运行时环境规范名称
java.class.version
Java 类格式版本号
java.class.path
Java 类路径
java.library.path
加载库时搜索的路径列表
java.io.tmpdir
默认的临时文件路径
java.compiler
要使用的 JIT 编译器的名称
java.ext.dirs
一个或多个扩展目录的路径
os.name
操作系统的名称
os.arch
操作系统的架构
os.version
操作系统的版本
file.separator
文件分隔符(在 UNIX 系统中是“/”)
path.separator
路径分隔符(在 UNIX 系统中是“:”)
line.separator
行分隔符(在 UNIX 系统中是“/n”)
user.name
用户的账户名称
user.home
用户的主目录
user.dir
用户的当前工作目录
shi676879453
2009-06-26
打赏
举报
回复
上面错了 应该是\'\'\'
shi676879453
2009-06-26
打赏
举报
回复
要看你用什么数据库 的
你用\'''试下
xnjnmn
2009-06-26
打赏
举报
回复
\\足以
bigbug9002
2009-06-26
打赏
举报
回复
转义只是书写的时候需要.以便让处理字符串的程序能正确认识你书写的字符.在内存中的字符串,是已经认识了得,就不需转义了.
yuxinglian
2009-06-26
打赏
举报
回复
那就二个斜线就够了吧
"\\keyword"
sinpinle
2009-06-26
打赏
举报
回复
我当然可以在数据库查询语句里面加一个“\”,但是我想把这个东西抽象出来,就是说直接通过java把keyword变成 \keyword的形式
yuxinglian
2009-06-26
打赏
举报
回复
你要转义的是 单引号吧, 建议使用 preparedstatement, 这个类, 能够自动处理特殊字符.
否则,如果要原样引用一个单引号, 应该写成四个单引号 , '''', 这样才代表一个单引号字符
sinpinle
2009-06-26
打赏
举报
回复
我已经用了4个 ,也不行
if (input.startsWith("^")) {
input = "\\\\" + input;
}
zuijiejina
2009-06-26
打赏
举报
回复
要是正则表达式里出现‘\’是需要4个\的。。。
bigbug9002
2009-06-26
打赏
举报
回复
keyword中有',那就什么也不用做了吧.
sinpinle
2009-06-26
打赏
举报
回复
显然是不行的,程序都会有错误
bigbug9002
2009-06-26
打赏
举报
回复
keyword = "\'" + keyword
ASTM D4583-21(2025).pdf
ASTM D4583-21(2025)
技术转移机构如何高效评估技术成果的价值?.docx
技术转移机构如何高效评估技术成果的价值?
科技园区如何精准招引高潜力科创项目并提升招商效率?.docx
科技园区如何精准招引高潜力科创项目并提升招商效率?
高校如何提升科研项目评价的科学性与效率?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章