引用说明:有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为“/”;反斜杠的符号为“\” 引用斜杠(/)在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('\\', '\\\\'); 就可以了。
分享到:
相关推荐
在Java和正则表达式中,反斜杠`\`是一个特殊的字符,它通常用于转义其他字符。例如,`\n`代表换行,`\t`代表制表符。因此,如果我们要直接替换反斜杠,需要使用两个反斜杠`\\`来表示一个实际的反斜杠字符。 ### 3. ...
在Java编程语言中,路径通常涉及文件系统中的位置,这会涉及到文件分隔符,而正斜杠(/)和反斜杠(\)是两个经常被提及的字符,它们在Java路径中扮演了不同的角色。本文将详细介绍正斜杠和反斜杠在Java路径中的区别...
在计算机科学与编程领域中,反斜杠(\)是一个非常重要的特殊字符,它具有多种用途,尤其是在文本处理、正则表达式以及转义序列等方面。根据提供的文件信息,我们可以深入探讨反斜杠的应用及其在不同场景下的作用。 ...
在 Java 中,反斜杠“\”被用作转义字符,因此在 Java 字符串中表示一个反斜杠需要使用两个反斜杠“\\”。例如,要在 Java 中表示一个文件路径,我们会写成`String path = "C:\\Users\\Username\\Documents";`。如果...
### 详解 JSON 串反转义(消除反斜杠) 在处理 JSON 数据时,经常会遇到一些字符串需要进行反转义的情况,尤其是在从文件中读取 JSON 字符串并希望将其转换为 JSON 对象时。本文将详细介绍如何对 JSON 串进行反转义...
JSON串反转义,也称为消除反斜杠,是处理JSON数据时常见的操作。在JSON格式中,特殊字符如双引号(")需要通过反斜杠(\)进行转义,以便在字符串中正确地表示它们。然而,当JSON数据以字符串的形式存储或读取时...
Java中转义字符反斜杠的代替方法及repalceAll内涵解析 Java中转义字符反斜杠的代替方法是指在Java字符串中使用反斜杠(\)作为转义字符,以便将特殊字符转换为普通字符。例如,在Java字符串中,双引号(")需要使用...
特别是在与JSON数据打交道时,`unescapeJson()`方法可以帮助我们有效地去除反斜杠,恢复原始数据,从而更准确地解析和使用JSON信息。对于任何涉及到字符串处理的Java项目,了解并合理利用这个工具类是非常有益的。
1. **将Java对象转成JSON串** 当我们有一个Java对象,例如一个User类,包含name和age属性,我们可以直接使用Fastjson将其转换为JSON字符串。首先,确保你的项目中已经引入了Fastjson的依赖。然后,可以使用`JSON....
本文将深入探讨Java中两种常用的路径写法:“/”(正斜杠)与“\”(反斜杠),并结合实例来阐述它们的特点及应用场景。 #### 二、路径写法概述 Java支持两种路径分隔符:“/”与“\”,它们分别代表了不同操作...
本文将深入探讨Java Development Kit (JDK)环境参数的设置过程,涵盖Windows XP与Linux两大操作系统下的配置方法,以及关键环境变量的详细解释。 #### 一、Java环境变量概述 Java环境变量主要由以下三个组成: 1....
运行这个程序需要Java虚拟机环境,这意味着你需要在你的计算机上安装Java Development Kit (JDK),其中包含了Java虚拟机,以便能够执行Java代码。 词法分析的实现通常涉及到以下关键点: 1. **字符流读取**:程序从...
总之,Java结合DOM4J库为XML文档的生成与解析提供了强大且易用的工具。在实际应用中,可以根据需求灵活地创建、查询、修改和保存XML数据。无论是用于数据存储、配置管理还是API交互,掌握XML及其处理方式都是IT...
在文本中,某些字符如换行符`\n`、制表符`\t`、引号`\"`或反斜杠`\\`在源代码中具有特殊含义。为了在字符串中直接使用它们,需要使用反斜杠进行转义。 5. **Escape.java可能包含的功能**: - `escape()`:这个...
例如,Windows系统使用反斜杠(\)作为路径分隔符,而Linux使用正斜杠(/)。因此,Java FTP工具类需要处理这些差异,确保在两个平台上都能正确解析和构建文件路径。 在实现Java FTP工具类时,一般会包含以下关键...
在处理文件路径时,开发者需要注意操作系统差异,因为Windows和Unix-like系统(如Linux、Mac OS)的路径分隔符不同,Windows使用反斜杠`\`,而Unix-like系统使用正斜杠`/`。 `File`类是Java I/O库中的核心类,用于...
string Encode(string nIn); string Decode(string nIn);
在 Java 中,使用反斜杠 (`\`) 作为转义符号,例如将双引号 (`"`) 转义成 (`\"`) 8. 换行和空格 在 Java 中,使用 `\n` 表示换行,使用 `\t` 表示 8 个空格不换行。 9. 正则表达式 在 Java 中,可以使用正则...
包含sun.misc.编码解码、org.apache.commons.codec.binary.Base64编码解码、自定义的、myBase64Encode/Dencode 以及对对几种方式的区别