JAVA中的斜杠

有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为“/”;反斜杠的符号为“\”。

斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符‘/';

反斜杠(\)则不然,它和紧跟着它的那个字符构成转义字符,如“\n”(换行)、“\””(字符‘”‘)等,所以在字符串中要表示字符'\'要用“\\”来表示,例:如果你这样定义一个字符串String s = “name\sex”是错误的,要这样定义String s = “name\\sex”;

注意:在正则表达式中的“\\”表示和后面紧跟着的那个字符构成一个转义字符(姑且先这样命名),代表着特殊的意义;所以如果你要在正则表达式中表示一个反斜杠\,应当写成”\\\\”。如果你这样获得一个Matcher,Matcher m= Pattern.compile(“\\”).matcher(“\\”)将会报错,你应当这样写Matcher m = Pattern.compile(“\\\\”).matcher(“\\”)才是正确且匹配的

接下来我们来看一下String类中replace(CharSequencetarget,CharSequence replacement)方法与replaceAll(String regex,String replacement)方法的区别:

我们先看一个例子:

public static voidmain(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路径中的反斜杠和斜杠的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2017-04-23

java中的斜杠和反斜杠,老生常谈java路径中的反斜杠和斜杠的区别相关推荐

  1. python打开并读取csv文件_!python3中使用使用read_csv( )读取csv文件,文件路径中含有中文,无法读取怎么处理?...

    python3如何根据csv文件的列的内容,自动建数据库表 你好,csv格式的和excel格式是差不多的, 下面是读取excel的一些函数,希望帮到你: # -*- coding: cp936 -*- ...

  2. C++ Opencv 读取指定路径中的所有文件(图片)及指定路径中指定格式的所有文件(图片)

    读取指令路径下的所有文件,程序如下: #include <io.h> #include < fstream> #include < string> #include ...

  3. python批量读取文件名_python - 从路径中提取文件名,无论os / path形式如何

    python - 从路径中提取文件名,无论os / path形式如何 无论操作系统或路径格式是什么,我可以使用哪个Python库从路径中提取文件名? 例如,我想要所有这些路径返回c: a/b/c/ a ...

  4. cmd编译java命令_使用CMD命令编译和运行Java程序

    对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...

  5. Gtk-WARNING**:无法在模块路径中找到主题引擎:“pixmap”的解决

    Gtk-WARNING**:无法在模块路径中找到主题引擎:"pixmap"的解决 解决以上问题, 只需要安装 gnome-themes-standard 即可 如果终端中提示: ( ...

  6. Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”(转)

    Gtk-WARNING**:无法在模块路径中找到主题引擎:"pixmap"的解决如果终端中提示:(gvim:2353): Gtk-WARNING **: 无法在模块路径中找到主题引 ...

  7. java路径中的斜杠和反斜杠_路径中 斜杠/和反斜杠\ 的区别

    最近在项目中遇到了一个小问题,纠结了半天. 路径中使用斜杠/和反斜杠\的区别到底是什么.查阅了一些资料后可知. Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有 ...

  8. [Asp.net]c#中的斜杠和反斜杠

    引言 在外地出差,给客户部署项目,三家做的项目要在一起集成,这就造成数据格式不同,路径中的斜杠和反斜杠造成了很大的问题. 查了一下这方面的资料,这里做一些记录,算是一个小结吧. 正斜杠(/)与反斜杠( ...

  9. java 路径中代替斜杠_老生常谈java路径中的反斜杠和斜杠的区别

    JAVA中的斜杠 有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为"/":反斜杠的符号为"\". 斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符 ...

最新文章

  1. tomcat startup启动不起来 但也不报错_Resin 与 Tomcat 服务器对比
  2. nvm 解决nodejs无法全局/usr/bin/node问题
  3. 【数据挖掘】数据挖掘算法 组件化思想 示例分析 ( 组件化思想 | Apriori 算法 | K-means 算法 | ID3 算法 )
  4. php 批量删除cookie,php批量删除cookie的简单实现方法
  5. linux : 各个发行版中修改python27默认编码为utf-8
  6. autojs 按下状态_AutoJs4.1.0实战教程---最后惊喜的一篇
  7. python3语音控制电脑_python语音控制电脑_uusee全屏
  8. gentoo/funtoo 环境配置使用 valgrind
  9. python 下载图片到内存卡_python-23:将图片下载到本地
  10. MySQL入门02-MySQL二进制版本快速部署
  11. curl get请求传递参数_使用curl调用restful API
  12. shell脚本基础和grep使用
  13. 七位CTO眼中的技术领导者核心能力
  14. Android P 图形显示系统(八) SurfaceFlinger合成流程(三)
  15. 百面机器学习 自学笔记
  16. IOT语义互操作性之语义
  17. idea远程Debug,远程调试
  18. 洛谷B2065 鸡尾酒疗法(while限制组数)
  19. oracle lag使用情景,lag函数用法
  20. 计算机在铁路中的应用论文800字,交通运输和交通论文,关于计算机信息网络系统在铁路交通运输管理中的应用相关参考文献资料-免费论文范文...

热门文章

  1. Linux 设置欢迎语
  2. ansible-tower(awx)容器化安装流程(终极简版)
  3. 采用云虚拟主机搭建个人网页并开启ssl认证
  4. 打麻将清一色自摸后偏瘫?高血压患者这些事项要注意
  5. 这些自动控制类型你都了解了吗
  6. 匿名信V1.4.5.1版本更新“数据大屏”功能
  7. 互联网早报:拼多多上线“买买相册”iOS版,主要针对微信个人开放...
  8. 【Github】知识合集
  9. 大腿拍断!足足闭关一个月肝完999页Java面试宝典,心灰意冷之际意外收到美团Offer!
  10. eNSP安全策略及NAT技术实验