`
hegj
  • 浏览: 4957 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【转】java 正斜杠与反斜杠

    博客分类:
  • JAVA
 
阅读更多
引用说明:有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为“/”;反斜杠的符号为“\” 引用斜杠(/)在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('\\', '\\\\'); 就可以了。
分享到:
评论

相关推荐

    Android relaceALL替换字符串中的反斜杠

    在Java和正则表达式中,反斜杠`\`是一个特殊的字符,它通常用于转义其他字符。例如,`\n`代表换行,`\t`代表制表符。因此,如果我们要直接替换反斜杠,需要使用两个反斜杠`\\`来表示一个实际的反斜杠字符。 ### 3. ...

    老生常谈java路径中的反斜杠和斜杠的区别

    在Java编程语言中,路径通常涉及文件系统中的位置,这会涉及到文件分隔符,而正斜杠(/)和反斜杠(\)是两个经常被提及的字符,它们在Java路径中扮演了不同的角色。本文将详细介绍正斜杠和反斜杠在Java路径中的区别...

    反斜杠的应用.txt

    在计算机科学与编程领域中,反斜杠(\)是一个非常重要的特殊字符,它具有多种用途,尤其是在文本处理、正则表达式以及转义序列等方面。根据提供的文件信息,我们可以深入探讨反斜杠的应用及其在不同场景下的作用。 ...

    关于通过Java连接mysql对反斜杠”\“转义的测试详解

    Java 连接 MySQL 对反斜杠“\”转义的测试详解 从标题和描述中,我们可以看到这篇文章主要讲解了通过 Java 连接 MySQL 对反斜杠“\”转义的测试和相关知识点。文章中通过实例代码详细介绍了反斜杠“\”转义的测试...

    详解json串反转义(消除反斜杠).docx

    ### 详解 JSON 串反转义(消除反斜杠) 在处理 JSON 数据时,经常会遇到一些字符串需要进行反转义的情况,尤其是在从文件中读取 JSON 字符串并希望将其转换为 JSON 对象时。本文将详细介绍如何对 JSON 串进行反转义...

    消除斜杠commons-lang3-3.12.0工具类.zip

    特别是在与JSON数据打交道时,`unescapeJson()`方法可以帮助我们有效地去除反斜杠,恢复原始数据,从而更准确地解析和使用JSON信息。对于任何涉及到字符串处理的Java项目,了解并合理利用这个工具类是非常有益的。

    Java中转义字符反斜杠\的代替方法及repalceAll内涵解析

    Java中转义字符反斜杠的代替方法及repalceAll内涵解析 Java中转义字符反斜杠的代替方法是指在Java字符串中使用反斜杠(\)作为转义字符,以便将特殊字符转换为普通字符。例如,在Java字符串中,双引号(")需要使用...

    java转json串的几种方法

    1. **将Java对象转成JSON串** 当我们有一个Java对象,例如一个User类,包含name和age属性,我们可以直接使用Fastjson将其转换为JSON字符串。首先,确保你的项目中已经引入了Fastjson的依赖。然后,可以使用`JSON....

    java路径两种写法.docx 新手资源,小白学习使用,java学习使用

    本文将深入探讨Java中两种常用的路径写法:“/”(正斜杠)与“\”(反斜杠),并结合实例来阐述它们的特点及应用场景。 #### 二、路径写法概述 Java支持两种路径分隔符:“/”与“\”,它们分别代表了不同操作...

    详解json串反转义(消除反斜杠)

    JSON串反转义,也称为消除反斜杠,是处理JSON数据时常见的操作。在JSON格式中,特殊字符如双引号(")需要通过反斜杠(\)进行转义,以便在字符串中正确地表示它们。然而,当JSON数据以字符串的形式存储或读取时...

    java JDK 环境参数设置

    本文将深入探讨Java Development Kit (JDK)环境参数的设置过程,涵盖Windows XP与Linux两大操作系统下的配置方法,以及关键环境变量的详细解释。 #### 一、Java环境变量概述 Java环境变量主要由以下三个组成: 1....

    词法分析[编译原理]

    运行这个程序需要Java虚拟机环境,这意味着你需要在你的计算机上安装Java Development Kit (JDK),其中包含了Java虚拟机,以便能够执行Java代码。 词法分析的实现通常涉及到以下关键点: 1. **字符流读取**:程序从...

    XML文档生成与解析

    总之,Java结合DOM4J库为XML文档的生成与解析提供了强大且易用的工具。在实际应用中,可以根据需求灵活地创建、查询、修改和保存XML数据。无论是用于数据存储、配置管理还是API交互,掌握XML及其处理方式都是IT...

    Escape.java_java_

    在文本中,某些字符如换行符`\n`、制表符`\t`、引号`\"`或反斜杠`\\`在源代码中具有特殊含义。为了在字符串中直接使用它们,需要使用反斜杠进行转义。 5. **Escape.java可能包含的功能**: - `escape()`:这个...

    关于Java文件路径问题

    在处理文件路径时,开发者需要注意操作系统差异,因为Windows和Unix-like系统(如Linux、Mac OS)的路径分隔符不同,Windows使用反斜杠`\`,而Unix-like系统使用正斜杠`/`。 `File`类是Java I/O库中的核心类,用于...

    base64编码和解码

    string Encode(string nIn); string Decode(string nIn);

    Java中常用的各种技能

    在 Java 中,使用反斜杠 (`\`) 作为转义符号,例如将双引号 (`"`) 转义成 (`\"`) 8. 换行和空格 在 Java 中,使用 `\n` 表示换行,使用 `\t` 表示 8 个空格不换行。 9. 正则表达式 在 Java 中,可以使用正则...

    java Base64精简代码

    包含sun.misc.编码解码、org.apache.commons.codec.binary.Base64编码解码、自定义的、myBase64Encode/Dencode 以及对对几种方式的区别

    word转pdf在linux与Windows都可用,移植性好

    需要注意的是,路径分隔符应使用反斜杠`\`而非正斜杠`/`。 示例命令: ```cmd soffice.exe --headless --convert-to pdf "C:\Users\root\Java.doc" --outdir "C:\Users\root" ``` #### 其他文件格式的支持 除了...

Global site tag (gtag.js) - Google Analytics