最近在获取数据时,发现程序读取的字段中含有\r\n字符,检查数据库表中的数据,发现是varchar字符串中包含了换行符.导入数据导致了这一情况出现. 回车换行 不同系统的行结尾符号并不同,如下: linux/unix下的行结尾符号是\n windows中的行结尾符号是\r\n Mac系统下的行结尾符号是\r 查找换行符 select * from table where collum like '%'+CHAR(10) + '%' --linux下的换行符 or collum like '%'+
默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配.如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配.处于 MULTILINE 模式中时,$ 仅在行结束符之前或输入序列的结尾处匹配. import java.util.regex.Pattern; /** * Created by Frank * 使用正则表达式在文本中查找换行符 */ public class NLMatch { public static voi
今天发现sql数据库有个图片路径中包含空格,结果在替换和查找时,发现用空格无效,后来经过确认才发现原来是回车换行符引起,从表面看很像空格,实际是回车符,要用char(13)才能进行替换和查找 --查找异常数据SELECT PHOTO22 FROM dbo.mt_per_tbl WHERE PHOTO22 LIKE '%'+CHAR(13)+'%';--替换回车换行符UPDATE mt_per_tbl SET PHOTO22=REPLACE(REPLACE(PHOTO22,CHAR(13),'')