文本处理笔记
来源:互联网 发布:建行软件下载 编辑:程序博客网 时间:2024/05/16 15:56
简单的记录一下,最近遇到的一些字段处理上的问题。
在使用爬虫抓取数据时,有时会抓取到一些让人很无奈的数据,处理方式也需要你做一些不同的处理。
因为我用的框架是自己拼接sql
语句,也就是匹配到页面内容后(一般用正则匹配),给字段内容的两端添加单引号,来实现拼接,在这种情况下就会出现一些很有意思的事情,例如字段内容自带引号(包括单引号和双引号,Mysql都识别)。
举例说明:
以上内容都是网页上实际显示的内容,当我们自己拼接字段时,就会出现这样'I'ma'
,这样'角"小王'
,还有这样'小周\'
,这里说明的只是部分并不完全,请读者自己类比。
这里解释一下各字段的结果,第一种情况下,sql
语句多了一个单引号,这样的语句执行时会出错,第二个类似(我当时遇到这种问题,但目前看来直接执行sql语句并没有影响),第三种情况下\
会把单引号转义,这是sql
语句就少了一个单引号,当出现以上的类似情况时,我们就需要去自己转义字段内部的特殊字符,以避免出现无法插入的情况。
关于转义,这也是一个很坑的问题,因为本身在java语言中\
也需要转义,所以很多时候转义字符数量就会很奇怪。
下面就是转义的方式。
//此处模拟要拼接的字段内容String str = "'I'am'";str = "'" + str.substring(1, str.length() - 1).replaceAll("\'", "\\\\\'") + "'";System.out.println(str);输出结果:'I\'am'
//此处模拟要拼接的内容,实际字段内容是'小周\'String str = "'小周\\'";str = str.replaceAll("\\\\", "\\\\\\\\");System.out.println(str);输出结果:小周\\
上面的方式是我个人整理的内容,如果看到内容的大神有更好的处理方式,请评论或私信告知,万分感谢。
以上。
阅读全文
0 0
- 笔记:文本处理命令
- 文本处理笔记
- shell学习笔记—文本处理
- shell编程笔记-基本文本处理
- shell编程笔记-文本处理awk
- shell编程笔记-文本处理awk
- ubuntu操作系统学习笔记之文本处理
- 【Linux 入门笔记】文本处理工具
- linux学习笔记之文本处理
- Boost学习笔记 -- 字符串与文本处理
- Linux学习笔记02之文本处理
- iOS笔记 -- 富文本处理属性
- 文本处理初学笔记01-主题模型
- Linux学习笔记21 --文本处理工具
- Boost 学习笔记--->字符串&文本处理
- 文本处理
- 文本处理
- 文本处理
- Windows API入门系列之七 -完善MessageBox
- 自定义View学习笔记(一)
- 小朋友学C++(4):public, protected, private
- 使用Maven自动构建项目配置文件
- 可执行的整站seo优化步骤
- 文本处理笔记
- python3操作mysql数据库
- 小朋友学C++(5):构造函数
- 小朋友学C++(6):this指针
- 面向对象:愿有一人,令我喜你成疾,药石无医
- 趣图:在 2G 内存电脑上运行 Android Studio
- Kotlin中的并发原语
- JAVA二叉树
- 小朋友学C++(7):封装