引用说明:有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为“/”;反斜杠的符号为“\” 引用斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符‘/’;
反斜杠(\)则不然,它和紧跟着它的那个字符构成转义字符,如“\n”(表示换行)、“\””(表示字符‘”’)等,所以在字符串中要表示字符'\'要用“\\”来表示,例:如果你这样定义一个字符串String s = “name\sex”是错误的,要这样定义String s = “name\\sex”;
引用注意:在正则表达式中的“\\”表示和后面紧跟着的那个字符构成一个转义字符(姑且先这样命名),代表着特殊的意义;所以如果你要在正则表达式中表示一个反斜杠\,应当写成“\\\\”。如果你这样获得一个Matcher,Matcher m = Pattern.compile(“\\”).matcher(“\\”)将会报错,你应当这样写Matcher m = Pattern.compile(“\\\\”).matcher(“\\”)才是正确且匹配的引用接下来我们来看一下String类中replace(CharSequence target,CharSequence replacement)方法与replaceAll(String regex, String replacement)方法的区别:
public static void main(String[] arg) throws OgnlException {
String s ="sdf\\a\\aa";
//把s中的反斜杠\ 替换为\\
System.out.println(s);
System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));
System.out.println(s.replace("\\", "\\\\"));
}
引用可以看出上面两种都返回相同的替换结果。
这 里的关键是String.replaceAll()是用regular expression 来作为参数的。但是java本身的字符串对于转义符\也有类似的处理。首先,java会把“\\\\”解释成一个字符串(其中包含两个char)。接下来,由于replaceAll是以正则表达式作为参数,所以“\\”被解释成一个regex。对于一个regex来说这就代表着一个字符,就是“\”。对后面的那个8个\来说,最终会被解释成“\\”。
换言之,假设String.replaceAll()是以普通字符串,而不是regex作为参数,那么这样写代码: String target = source.replaceAll('\\', '\\\\'); 就可以了。
分享到:
相关推荐
下面小编就为大家带来一篇老生常谈java路径中的反斜杠和斜杠的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Java中转义字符反斜杠的代替方法及repalceAll内涵解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要给大家介绍了关于通过Java连接mysql对反斜杠”“转义的测试的相关资料,文中通过实例代码介绍的非常详细,对大家理解反斜杠”“转义具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
StringEscapeUtils方法消除json反斜杠
JSon串在被串行化后保存在文件中,读取字符串时,是不能直接拿来用JSON.parse()解析为JSON 对象的。因为它是一个字符串,不是一个合法的JSON对象格式。例如下面的JSON串保存在文件中,读出来不能直接解析: ...
编译原理的作业,绝对可以运行!! 需要安装java虚拟机
JDK 环境变量参数设置,经本人亲自检验!
通过 利用 java 以及 dom4j 来进行XML 文件的 生成与 解析操作。代码简单易懂。
包含sun.misc.编码解码、org.apache.commons.codec.binary.Base64编码解码、自定义的、myBase64Encode/Dencode 以及对对几种方式的区别
string Encode(string nIn); string Decode(string nIn);
正则表达式的用法,在其他语言中,\\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。 在 Java 中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的...
在 这 次 会 上 ,Java的 创 始 人 之 一 James Gosling 说 :"Java 不仅 仅只 是 applets, 它 能 做任 何 事 情 ",Dta 咨 询 公 司 的 高 级软 件 工 程 师 Rich Kadel说 :"Java 不仅 仅 是 一 种 程 序 设计 语言 ,...
逗号, 帽号: 数学减号- 右尖括号> 左尖括号反斜杠\ 即空格,制表符,回车符等 10 匹配非负整数(正整数 + 0) 11 匹配不包括零的非负整数(正整数 > 0) 12 匹配正整数 13 匹配非正整数(负整数 + 0)14 匹配负整数;...
在Windows系统中使用反斜杠 ‘’ 或者斜杠 ‘/’来当作路径的分隔符,但是使用反斜杠需要注意: 单个反斜杠代表转义字符,所以在使用反斜杠充当路径的分隔符时需要成对出现。 File file1 = new File("E:\\aaa\\1...
AES高级加密算法程序.rarAES高级加密算法程序.rar
//导入数据库:注意路径和最后的反斜杠 jar包里使用的数据库名为company,连接mysql的用户名为“root”,密码为“”(空) 所以当在不同电脑使用时满足不了以上条件会运行不了 注意jar包需同lib文件放在同一目录...
逗号, 帽号: 数学减号- 右尖括号> 左尖括号反斜杠\ 即空格,制表符,回车符等 10 匹配非负整数(正整数 + 0) 11 匹配不包括零的非负整数(正整数 > 0) 12 匹配正整数 13 匹配非正整数(负整数 + 0) 14 匹配负...
建议如果是路径设置,尽量使用反斜杠,在java项目中,斜杠\是需要\\转义的,毕竟最后会在linux 运行使用/反斜杠更ok; 解决路径问题,作为变量传参,在windows-java环境支持/反斜杠路径 2、技术框架的选型,在通过...
自动替换generator.properties中的句号(.)为反斜杠,设置key为key+"_dir"后缀 示例: pkg=com.company => pkg_dir=com/company 九.自动拷贝二进制文件至输出目录 如模板目录下的 zip,rar,doc文件将会自动拷贝至...
JAVA中转义字符 1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377' ...\\ 反斜杠字符 \r 回车 (return) \n 换行 (newline) \f 走纸换页 (form feed) \t 横向跳格 (tab) \b 退格 (backspace)