文档章节

java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠,该怎么解决

Airship
 Airship
发布于 2016/04/18 15:22
字数 195
阅读 59
收藏 1

java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠
java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠

例如  str1="aa\bbb"; str2="aa'bbb"; 

要想替换成 str1="aa\\bbb";str2="aa\'bbb";

必须这样替换:

             str1 = str1.replaceAll("\\\\", "\\\\\\\\");
             str2 = str2.replaceAll("'", "\\\\'");

原因如下:

String 的 replaceAll() 方法,实际是采用正则表达式的规则去匹配的,

\\\\   ,java解析为\\交给正则表达式,   正则表达式再经过一次转换,把\\转换成为\ 

也就是java里面要用正则来表示一个\. 必须写成4个\ 

如果要表示\\,那就要写8个\


所以如果写成: str1 = str1.replaceAll("\\", "\\\\");

就会报正则表达式的错误。

本文转载自:http://www.educity.cn/wenda/204896.html

共有 人打赏支持
Airship
粉丝 37
博文 874
码字总数 18996
作品 0
南京
高级程序员
Java反斜线(\)路径与转义字符的小坑

1.图片路径字段ImagePath, 从数据库读出,写到前台变量中, 正常(比如: uploadimage201818802-8517A000800002-1.jpg) 2.由前台向后台提交, getParameter取出则反斜线成了转义符(字符串变为: u...

javado
06/11
0
0
String类replaceAll方法正则替换深入分析

背景: 前几天有人发了一个关于下面问题的贴,对这个有点好奇,故花时间做了点研究。 对单个反斜杠字符串替换成双斜杠的Java实现如下: String s = ""; 方法一:String sr1 = s.replaceAll("...

囚兔
2012/12/28
0
1
java中如何忽略字符串中的转义字符'\'

java中如何忽略字符串中的转义字符'' 起因     这几天工作上需要跟另一个同事联调rest接口,我这边是java他是php,返回报文是json格式。接口调用成功后,输出返回的报文中有类似“u79fb...

Tek_Eternal
2015/01/11
0
0
Java 反斜杠如何转义的问题

引用 说明:有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为“/”;反斜杠的符号为“” 引用 斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符‘/’; 反斜杠()则不然,它和紧...

Airship
2016/03/01
79
0
Python基础教程系列:二、Python基础

一、基本的语句和语法 1、井号(#):表示注释,一般的脚本语言注释都是# 2、换行符号(n): 3、反斜杠():接着上一行的内容继续编辑 4、分号(;):将两条语句写在一行中需要用分号隔开...

东方神剑
2015/01/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

白话SpringCloud | 第五章:服务容错保护(Hystrix)

前言 前一章节,我们知道了如何利用RestTemplate+Ribbon和Feign的方式进行服务的调用。在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如网...

oKong
16分钟前
0
0
【解惑】领略Java内部类的“内部”

内部类有两种情况: (1) 在类中定义一个类(私有内部类,静态内部类) (2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中...

偶尔诗文
58分钟前
1
0
sqlserver 2008 r2 直接下载地址(百度云)

之前下载的sqlserver2008发现不能附加,就卸载了,重新找到了sqlserver2008R2的百度云资源 卸载sqlserver2008还是有点麻烦,不过就是需要删除注册表中的信息 自己来回卸载了3次终于重装sqlse...

dillonxiao
今天
1
0
[Java]JVM调优总结 -Xms -Xmx -Xmn -Xss

JVM调优总结 -Xms -Xmx -Xmn -Xss 博客分类: Java General JVM应用服务器电信CMS算法 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可...

morpheusWB
今天
2
0
C++ std::function 和 std::bind

C++11提供了std::function和std::bind两个工具,用于引用可调用对象。这些可调用对象包括 普通函数,Lambda表达式,类的静态成员函数,非静态成员函数以及仿函数等。引用可调用对象,可以用于...

yepanl
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部