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反斜杠\的用法 | 学步园相关推荐

  1. java socket超时时间_java中socket 默认超时时间 | 学步园

    MS:永远吧 Java代码 connect publicvoidconnect(SocketAddress endpoint, inttimeout) throwsIOException Connec ...

  2. java 中的点_java————形参中的点点点 | 学步园

    转自:http://zhidao.baidu.com/question/149668626.html main方法的签名其实可以这样写: public static void main(String. ...

  3. java注解获取参数_JAVA 自定义注解及参数获取 | 学步园

    package com.java.annotation; import java.lang.annotation.*; /** * Created by lw on 14-5-30. * 自定义注解 ...

  4. java libraries在哪_java.library.path在哪? | 学步园

    编译运行可得 Code: publicclassHelloWorld{ publicstaticvoidmain(String args[]){ System.out.println("He ...

  5. java 修改ini文件_java读取和修改ini配置文件 | 学步园

    /* * ConfigurationFile.java * * Created on 2009年4月15日, 下午1:36 * * To change this template, choose To ...

  6. java printwriter用法_Java中printwriter类的用法 | 学步园

    printwriter类: java.io 类 PrintWriter java.lang.Object java.io.Writer java.io.PrintWriter 所有已实现的接口: Cl ...

  7. java数组长度最大值_java 数组排序、最大值、最小值 | 学步园

    原文:http://liyaxi.iteye.com/blog/856334 public class ArraysTest { /** * 数组排序 * 数组中的最大值 * 数组中的最小值 */ p ...

  8. java打开db文件_java 读取DB.properties文件方式 | 学步园

    读properties文件的时候,出现了或多或少的奇怪问题,这里把最终成功的方式描述一下. PropUtil工具类 public class PropUtil { private String fil ...

  9. java swing removeall_java中JFrame中函数removeAll的用法 | 学步园

    用baidu搜了半天搜不出来,用google一下就出来了~~~ 下面用自己的代码来解释下removeAll()的用法 注意一定要在getContentPane()中用removeAll(): impo ...

  10. java替换一个反斜杠_java反斜杠替换

    java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠 例如 str1="aa\bbb"; str2="aa'bbb"; 要想替换成 str ...

最新文章

  1. java程序语句是_Java-语言编程
  2. 操作系统实验4—磁盘调度
  3. java数字转字符串及字符串转数字
  4. .NET Core 2.0 Preview2 发布汇总
  5. FreeRTOS中断配置与临界段
  6. 探秘HDFS —— 发展历史、核心概念、架构、工作机制 (上)| 博文精选
  7. 《数字时代汽车营销变革白皮书》发布,为新消费时代的车企营销提供指南
  8. mybatis SqlMapConfig.xml properties
  9. 电脑打字学习_高邮学习商务办公难不难?/电脑办公的学习内容有哪些? - 教育培训消费 - 得意生活...
  10. Java常用算法三:01背包问题
  11. 如何建设软件质量保障体系
  12. Unity在NGUI中默认动态字体Arial字体显示不完整解决方案
  13. 超全面Figma,Pixso和Sketch工具盘点
  14. oracle 二表做差,oracle 两表数据对比---minus
  15. 基于51单片机的多路温度检测调节串口传输系统
  16. matlab使用教训
  17. Microsoft Windows-关于“sfc/scannow”(立即扫描所有受保护的系统文件的命令)的一些问题
  18. 信息无障碍 - 改造指南
  19. IAR中eww、ewp、ewd···等各文件的含义和用途
  20. 架构师之路 — 部署架构 — Overview

热门文章

  1. php 公众号回复天气预报,微信公众号开发天气自动回复
  2. bios.h被淘汰了....
  3. 【简单】果果的机器人
  4. 字符串的常用拼接方法
  5. 2007年中考化学模拟试题一
  6. 同时掌握c 和java_怎么在必须同时学习C语言和Java时把两者学好?
  7. 农村生活污水处理如何因地制宜?
  8. 白酒企业数字化转型怎么做?酒类招商加盟营销系统功能有哪些?
  9. 突击Mercurial SCM(HG)2---当前状态
  10. 京东模拟登陆,仅实现登陆功能(仅交流学习使用,爬虫起点)