java中反斜杠的用法_java反斜杠\的用法
java反斜杠\的用法比较怪异,分为两种场景:
1. 正则表达式
匹配点(.) 或 {、[、(、?、$、^ 、+和 * 这些特殊符号要要前加双斜框,表示字符类的时候也是用双斜杠譬如(\\s[空白符], \\S, \\d, \\D, \\w, \\W),匹配 \ 时要用四斜杠
2. 字符串
譬如\n, \t, \r 回车换行tap之类的只要一个反斜杠即可,在字符串中表示一个反斜杠只用两个反斜杠即可 \\
顺带提一下String.replace 和replaceAll的区别,前者是匹配字符串替换,后者是匹配正则表达式替换
相同点是:都是对源字符串的全部替换
String s ="sdf\\a\\aa";
System.out.println(s);
System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));
System.out.println(s.replace("\\", "\\\\"));
这两种替换的结果都是 sdf\\a\\aa
源码剖析:
public String replaceAll(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}
public String replace(CharSequence target, CharSequence replacement) {
return Pattern.compile(target.toString(), Pattern.LITERAL).matcher(
this).replaceAll(Matcher.quoteReplacement(replacement.toString()));
}
replace比replaceall多了quoteReplacement,这个函数就是把字符串中出现\或者$的前面再添加一个\, 这样的话s.replace("\\", "\\\\")其实后台处理也是八个\
最简单的就是这样记住,在正则表达式中用4个\表示一个\
java中反斜杠的用法_java反斜杠\的用法相关推荐
- java各种符号用法_java“与”符号写法与用法
java"与"符号写法与用法 java"与"符号怎么打出来的 java中"与"符号使用键盘上的 Shift + 数字7 即可打出来.(不是小 ...
- java中截取后几位字符串_java截取字符串后几位
java中常用的字符串的截取方法_计算机软件及应用_IT/计算机_专业资料.jsp中常见使用技术,js,jstl,eclipse,java 1.length() 字符串的长度 例:char chars ...
- java中shot占几个字节_Java 占用字节数
数据类型 大小(二进制位数) 范围 默认值 byte(字节) 8 -128 - 127 0 shot(短整型) 16 -32768 - 32768 0 int(整型) 32 -2147483648-2 ...
- java中怎么让一个数倒转_java 输入一个数字,反转输出这个数字的值(实现方法)
java 输入一个数字,反转输出这个数字的值(实现方法) 如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public ...
- JAVA中重写和实现的区别_Java中重载和重写的区别
Java中重载和重写的区别 1.1重载是什么 Overloading 方法重载是让类以统一的方式处理不同类型数据的一种手段,多个同名函数同时存在,具有不同的参数个数/类型 1.2为什么用重载 重载 ...
- java中判断string类型的值_java判断对象是否是string类型
1.instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法:result = ...
- java中什么叫懒加载_java懒加载的原理
聊一下以下名词.概念或用法:lazy.lazy="extra".inverse.fetch.fetch="join".fetch=" subselec ...
- java中出现循环问题如何解决_java如何解决循环引用
Excel 循环引用产生的原因及解决方法 来源:excel 格子社区 我们打开 ... (Garbage Collection Thread) , 来跟踪每一块分配出去的内存空间, Java 虚拟机 ...
- java中基本字节输出流类是_java中基本输入输出流的解释
网络程序的很大一部分是简单的输入输出,即从一个系统向另一个系统移动字节.字节就是字节,在很大程度上,读服务器发送的数据与读取文件没什么不同:向客户传送数据与写入一个文件也没有什么区别. Java中输入 ...
最新文章
- php mysql什么意思_php MySQLi是什么意思?
- 苹果充电显示不支持此配件_苹果发布新配件:支持无线充电 870元起
- JQuery.validate.js 表单验证
- 【SICP练习】79 练习2.51
- ai中如何插入签名_技巧不求人167期 Excel如何打印到1页纸的2种方法 Excel如何插入手写签名...
- mi6 android版本,小米6:我依旧是王,MIUI10.4.2稳定版与AndroidP同时到来
- 容器编排技术 -- Kubernetes是什么?
- 思路与好题记录与小技巧
- python软件包版本查询的方法
- [Win32]创建模态窗口
- 分层图最短路【bzoj2763】: [JLOI2011]飞行路线
- 计算机组成原理白中英ppt,计算机组成原理(本全)白中英.ppt
- (html+css)静态小米闪购主页仿制
- AD20输出PDF 打印 位号图 焊接图
- 职场生涯的3个步骤--法、儒、道家的管理哲学
- 用 MeGUI 压制 DVDrip 入门
- CSS3实战-文字篇
- 梦想照进现实|CSDN 实体奖牌 第六期
- [Practical.Vim(2012.9)].Drew.Neil.Tip01 学习摘要
- 推流端、服务端、播放端