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 socket超时时间_java中socket 默认超时时间 | 学步园
MS:永远吧 Java代码 connect publicvoidconnect(SocketAddress endpoint, inttimeout) throwsIOException Connec ...
- java 中的点_java————形参中的点点点 | 学步园
转自:http://zhidao.baidu.com/question/149668626.html main方法的签名其实可以这样写: public static void main(String. ...
- java注解获取参数_JAVA 自定义注解及参数获取 | 学步园
package com.java.annotation; import java.lang.annotation.*; /** * Created by lw on 14-5-30. * 自定义注解 ...
- java libraries在哪_java.library.path在哪? | 学步园
编译运行可得 Code: publicclassHelloWorld{ publicstaticvoidmain(String args[]){ System.out.println("He ...
- java 修改ini文件_java读取和修改ini配置文件 | 学步园
/* * ConfigurationFile.java * * Created on 2009年4月15日, 下午1:36 * * To change this template, choose To ...
- java printwriter用法_Java中printwriter类的用法 | 学步园
printwriter类: java.io 类 PrintWriter java.lang.Object java.io.Writer java.io.PrintWriter 所有已实现的接口: Cl ...
- java数组长度最大值_java 数组排序、最大值、最小值 | 学步园
原文:http://liyaxi.iteye.com/blog/856334 public class ArraysTest { /** * 数组排序 * 数组中的最大值 * 数组中的最小值 */ p ...
- java打开db文件_java 读取DB.properties文件方式 | 学步园
读properties文件的时候,出现了或多或少的奇怪问题,这里把最终成功的方式描述一下. PropUtil工具类 public class PropUtil { private String fil ...
- java swing removeall_java中JFrame中函数removeAll的用法 | 学步园
用baidu搜了半天搜不出来,用google一下就出来了~~~ 下面用自己的代码来解释下removeAll()的用法 注意一定要在getContentPane()中用removeAll(): impo ...
- java替换一个反斜杠_java反斜杠替换
java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠 例如 str1="aa\bbb"; str2="aa'bbb"; 要想替换成 str ...
最新文章
- java程序语句是_Java-语言编程
- 操作系统实验4—磁盘调度
- java数字转字符串及字符串转数字
- .NET Core 2.0 Preview2 发布汇总
- FreeRTOS中断配置与临界段
- 探秘HDFS —— 发展历史、核心概念、架构、工作机制 (上)| 博文精选
- 《数字时代汽车营销变革白皮书》发布,为新消费时代的车企营销提供指南
- mybatis SqlMapConfig.xml properties
- 电脑打字学习_高邮学习商务办公难不难?/电脑办公的学习内容有哪些? - 教育培训消费 - 得意生活...
- Java常用算法三:01背包问题
- 如何建设软件质量保障体系
- Unity在NGUI中默认动态字体Arial字体显示不完整解决方案
- 超全面Figma,Pixso和Sketch工具盘点
- oracle 二表做差,oracle 两表数据对比---minus
- 基于51单片机的多路温度检测调节串口传输系统
- matlab使用教训
- Microsoft Windows-关于“sfc/scannow”(立即扫描所有受保护的系统文件的命令)的一些问题
- 信息无障碍 - 改造指南
- IAR中eww、ewp、ewd···等各文件的含义和用途
- 架构师之路 — 部署架构 — Overview