`

Java中的字符串转义符 "\\"

阅读更多
下面的单元测试能够通过,这可能不符合直觉。
	@Test
	public void passed() {
		String a = "\\";
		assertFalse(a.length() == 2);
		assertTrue(a.length() == 1);
		
		String b = "\\\\";
		assertTrue(b.length() == 2);
		
	}


原因在于"\"在这里被JVM解释为转义符,所以如果当你需要一个"\",在Java里面同时需要为JVM提供一个"\"用于转义,这样你就得到了一个字符"\\"。

进一步的可以做一个小实验,在用户UI中输入字符"\abc",调试模式用该字符初始化的Java变量其实是"\\abc",当你把这个字符输出到文件或者保存到数据库中时,我们看到的是"\abc".

给定一个表达式:
foobar~='^.*a[b-f]g.*$',
我们不想让其中正则表达式生效(本意是想让诸如mvel这样的语言解释器,将[b-f]按照字面意义上去读入),这样的话,前面表达式如果存在数据库中,似乎是这样:
foobar ~='^.*a\\[b-f\\]g.*$'

进一步的,在Java代码中将表达式赋值给一个变量,看起来应该是这个样子
 String expression = "foobar~='^.*a\\\\[b-f\\\\]g.*$'";

分享到:
评论

相关推荐

    Java分割字符串

    在Java编程语言中,分割字符串是一项常见的操作,它允许我们将一个长字符串分解成多个子字符串,每个子字符串对应原字符串中的某个部分。这通常通过使用`split()`方法来实现,该方法是Java `String`类的一个成员。在...

    java去除字符串中的空格、回车、换行符、制表符的小例子.docx

    ### Java去除字符串中的空格、回车、换行符、制表符的知识点详解 #### 一、背景介绍 在日常的软件开发过程中,我们经常需要处理来自各种来源的文本数据,例如用户输入、文件读取等。这些数据中常常会包含空格、...

    Java随机字符串生成器,可用于生成随机密码,密约等场景,支持字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置)

    Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持可选字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置),即在选择的字符范围内去实现随机字符串...

    c语言基础之字符串+转义字符

    字符串的结束标志是\0的转义字符。在计算字符串空间长度的时候,\0作为结束标志,不算作字符串内容。 例如: 这时候我们发现空字符串的空间长度为1,原因是系统默认\0作为字符串的结束标志,不算作字符串内容,此时...

    JAVA转义字符

    Java中的转义字符是非常有用的工具,可以帮助程序员更灵活地处理各种字符和字符串。无论是处理文本数据还是格式化输出,了解并正确使用这些转义字符都是至关重要的。通过本文的介绍,相信读者已经对Java中的转义字符...

    java处理字符和字符串课件

    在Java编程中,字符和字符串是最常见的数据类型之一。为了方便高效地处理这些数据类型,Java提供了强大的支持,包括`Character`类和`String`类等。这些类位于`java.lang`包中,无需额外导入即可使用。 #### 二、...

    移动字符串-java

    在Java编程语言中,"移动字符串"通常指的是在程序中动态改变字符串的显示位置或实现某种形式的动画效果。这通常涉及到字符数组、字符串对象、图形用户界面(GUI)组件或者控制台输出等方面的知识。下面将详细介绍...

    Java 字符串常用方法

    以下是一些Java `String`类中常用的方法,这些方法对于理解和操作字符串至关重要。 1. **创建字符串** - `new String()`: 使用此构造函数创建一个新的字符串对象,可以传入字符数组或另一个字符串作为参数。 - `...

    常见转义字符 Java

    ### 常见转义字符在Java中的应用与...通过上述介绍,我们可以看出,Java中的转义字符为程序员提供了极大的便利,使得在处理字符串和其他文本数据时更加灵活高效。掌握这些转义字符对于编写高质量的Java程序至关重要。

    JAVA转义字符[文].pdf

    在Java编程语言中,转义字符是用于在字符串或字符字面量中表示特殊意义的字符。这些字符在源代码中以反斜线(\)开头,随后跟特定的序列,以便让编译器理解其真正的含义。以下是Java中转义字符的详细解释: 1. **八...

    字符串转HTML的16进制转义符

    字符串转HTML的16进制转义符 是转过来的,因为当初自己研究了挺久,觉得这个会在学习的过程中有帮助,就一起共享过来了。 不好意思,之前没写明是什么语言写的。 这里声明一下:Java 这里对没看清楚的兄弟说一声...

    java中常见的转义字符

    在Java编程语言中,转义字符是用于表示特殊符号或控制序列的一种方法。这些字符对于字符串处理、格式化输出以及处理特殊字符具有重要意义。本文将详细介绍Java中的常见转义字符及其用途。 ### 1. 基本转义字符 ###...

    字符的转义

    在编程语言中,有时我们需要在字符串中直接插入特殊字符,比如换行符、制表符或者反斜杠。为了能在源代码中表示这些特殊字符,我们就需要用到转义序列。转义序列是以反斜杠(\)开头的字符序列,告诉编译器或解释器...

    初学者,Java转义字符

    特殊字符是指在Java字符串中具有特殊含义的一些字符,它们可以用特定的转义序列来表示。 - `\"` 表示双引号字符`"`。 - `\'` 表示单引号字符`'`。 - `\\` 表示反斜杠字符`\`。 #### 四、控制字符 控制字符是在...

    java实现把含有英文符号字符串转换为中文符号的实现.txt

    java实现含有英文字符串的符号替换为中文符号,在网上看了一些都没有详细的实现方式,看了这个就不用去摸索了,看了就会用了,下次有碰到这方面的,同样中文特殊符号转换为英文符号类似的逻辑

    Java转义字符

    通过上述内容的介绍,我们可以看出Java中的转义字符非常实用且功能强大,能够帮助开发者处理各种字符串相关的任务。掌握这些转义字符不仅有助于编写更高效、更易维护的代码,还能提高开发效率和代码质量。希望本文能...

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

    `replaceAll`函数就是Java(也是Android)中处理字符串替换的一个重要方法。这个方法来自`String`类,允许我们用新的字符串替换掉原字符串中匹配某个模式的所有实例。在这个案例中,我们要关注的是如何替换字符串中...

    java 中文Unicode转换

    在Java中,Unicode编码主要通过字符串对象的`char`类型来实现。每个`char`变量可以存储一个Unicode码点,但需要注意的是,对于超出BMP范围的字符,Java使用代理对(Surrogate Pair)来存储。一个代理对由两个`char`...

    java清除html转义字符

    在Java开发中,处理HTML内容时,有时我们需要清除HTML转义字符,以确保文本在显示或存储时不会解析为HTML标签。HTML转义字符是用于在HTML文档中表示特殊字符的字符实体,例如 `会被转义为 `<` 以防止浏览器将其...

    StringUtil.java(字符串工具类)

    USER_NAME to UserName,USER_NAME to userName,转义正则特殊字符 ,获取字符串长度汉字占两个字符,验证号码是否合法 (是否是手机号或者电话号码),将经纬度转换成字符串,将字符转换成二进制,将二进制字符串...

Global site tag (gtag.js) - Google Analytics