-
2021-08-13 21:53:24
字符要用一对单引号(‘’)括起。但如果把一个字符变量赋值成一个单引号,就会出问题,这样就有了转义字符的概念。
//下面这段程序表明了转义字符的使用方法 public class Test { public static void main (String args[]) { char ch ='\''; System.out.println(ch+"测试转义字符!"+ch); } }
这里使用的是用变量存放转义字符,当程序中需要很多的转义字符时可以这样使用,避免造成混淆而不易阅读。
更多相关内容 -
Java转义字符
2015-12-22 17:31:34自己总结的Java转义字符 很好用 方便查阅 -
java转义字符
2021-01-13 09:51:57Java语言中定义了一些字母前加”"来表示特殊含义的字符, 如\0,\t,\n等, 称为转义字符(Escape Character). ① 斜线与反斜线 / 斜线(slash), 又称为forward slash (前斜线), 原本是标点符号. 起源于古罗马,中世纪时...定义
所有的ASCII码都可以用"“加数字(一般是8进制数字)来表示. Java语言中定义了一些字母前加”"来表示特殊含义的字符, 如\0,\t,\n等, 称为转义字符(Escape Character).
① 斜线与反斜线
/ 斜线(slash), 又称为forward slash (前斜线), 原本是标点符号.
起源于古罗马,中世纪时用作逗号(而当时的双斜线//是被当作连接号的,后来演化成等号=). Linux系统文件路径使用.\ 反斜线(backslash), Windows系统文件路径, 程序编码转义, Unicode编码等都使用.
② 转义字符表
斜杠:"/" 与 反斜杠:"" ,此处不可互换
Java中转义字符, 用单引号标识, 是char类型.
1.八进制转义序列:
\ + 1到3位5数字;范围’\000’~’\377’
\0:空字符2.Unicode转义字符:
\u + 四个十六进制数字;0~65535
\u0000:空字符常用Unicode字符对照表
点的转义:. -> u002E
美元符号的转义:$ -> u0024
乘方符号的转义:^ -> u005E
左大括号的转义:{ -> u007B
左方括号的转义:[ -> u005B
左圆括号的转义:( -> u0028
竖线的转义:| -> u007C
右圆括号的转义:) -> u0029
星号的转义:* -> u002A
加号的转义:+ -> u002B
问号的转义:? -> u003F
反斜杠的转义: -> u005C
3.特殊字符字符 作用 " 双引号 ’ 单引号 \ 反斜线 ’ 单引号 4.控制字符
字符 作用 \r 回车 \n 换行 \f 走纸换页 \t 横向跳格 \b 退格 转义字符表转义字符意义ASCII码值(十进制)
-
JAVA转义字符详解
2020-05-03 13:26:30VBS代码中确实不用转义,但是在JAVA或JS中,它采用的是C语言的语法,所以要转义,引号内要双写\\表示一个反\。 ① java把字符串中的反斜杠(\)替换成(\\) replaceAll里面用的是正则表达式,所以字符串转义一次...一.JAVA中反斜杠“\”的作用
在不同的系统中,路径的分隔符不同,故需要做出判断,并切换分隔符
VBS代码中确实不用转义,但是在JAVA或JS中,它采用的是C语言的语法,所以要转义,引号内要双写\\表示一个反\。
① java 把字符串中的反斜杠(\)替换成(\\)
replaceAll里面用的是正则表达式,所以字符串转义一次,正则转义一次,所以一个斜扛要写4个,用replaceAll( "\\\\ ", "\\\\\\\\ ");
二.split("\\.")什么意思1. 首先要明白split方法的参数含义:
public String[] split(String regex)根据给定的正则表达来式的匹配来拆分此字符串
2. 然后就要明确正则表达式的含义了:-
'.'点 匹配除“\n”和"\r"之外的任何单个字符。
-
'\'表示转义字符
\\会转义成反斜杠,反斜杠本身就是转义符,所有就成了“\.”,在进行转义就是.,所以\\.实际上是“.”
三.正则表达式
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设专计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由属Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
四.Java中转义字符反斜杠 \ 的代替方法 | repalceAll 内涵解析
4.1需求
现有一个字符串str
String str = "{\\\"name\\\":\\\"spy\\\",\\\"id\\\\":\\\"123456\\\"}";
System.out.println("str = " + str);
在控制台的输出为:str = {\"name\":\"spy\",\"id\":\"123456\"}
目标:将str转化为标准的json格式串str1,以调用JsonUtil的方法,将字符串转为map。即目标str1为:str1 = {"name":"spy","id":"123456"}
4.2实现方法4.3Java 的replaceAll 内涵解析
使用Java的replaceAll(String regex, String replacement)函数,即用replacement替换所有的regex匹配项,regex是一个正则表达式,replacement是字符串。
String str = "{\\\"name\\\":\\\"spy\\\",\\\"id\\\\":\\\"123456\\\"}";
(1)对于串str,Java将其进行转义,\\ 表示 \ ,\” 表示 ” ,故而在Java内存中即为:
{\”name\”:\”spy\”,\”id\”:\”123456\”},然而,我们的目标是 {“name”:”spy”,”id”:”123456”},即将转义字符 \ 替换为空。(2)Java的replaceAll(String regex, String replacement)函数,第一个参数是一个正则表达式。在正则表达式中的“\”与后面紧跟的那个字符构成一个转义字符,代表着特殊的意义,比如”\n”表示换行符等。所以,如果要在正则表达式中表示一个反斜杠\,则应当用\\表达 。但参数regex 首先会经过Java的一次转义,若想表达两个反斜杠 \\,则需四个反斜杠。
综上所述:replaceAll 的第一个参数是正则表达式,故而要经过两次转义,一次Java、一次正则。因此就需要四个反斜杠才可以匹配一个反斜杠。故而,替换一个反斜杠为空的replaceAll的代码即为:
str1 = str.replaceAll("\\\\","");4.4补充说明
参考网址:
https://blog.csdn.net/proteen/article/details/78885867
https://blog.csdn.net/north_easter/article/details/7904865
五.网址带中文问题
java.net.URLEncoder.encode(“xxxx”,“utf-8”)将中文转为16进制字符。
java.net.URLDncoder.decode(“xxxx”,“utf-8”)将16进制字符转为中文。
5.1实战
通过工具类转换:
/** * @author Longchengbin * @description 将网址反斜杠转成正斜杠并将中文转为16进制字符 * @since 2020-11-4 16:33 **/ public static String decode(String url) { String[] strings = url.split("\\\\"); String s1 = strings[strings.length - 1]; String s2 = strings[strings.length - 3]; String s = ""; try { //将反斜杠替换成正斜杠 s = url.replaceAll("\\\\", "/"). //将中文转成16进制字符 replace(s1, URLEncoder.encode(s1, "utf-8")).replace(s2, URLEncoder.encode(s2, "utf-8")); LogUtils.w(s); } catch (UnsupportedEncodingException e) { LogUtils.e("网址转换报错:" + e.toString()); } return s; }
转换后:
-
-
java转义符和正则表达式转义符
2021-03-01 09:03:17举例来说,连续相同的3位数字的正则...考虑到\符号在java字符串的语法中属于转义符,所以,需要的java的语法是: String regEx = "([\\d])\\1{2}";为了加深印象,再来看下一个例子:前面连续相同的3位数字,后面连续...举例来说,连续相同的3位数字的正则表达式的标准语法是: ([\d])\1{2}
但是如果在java代码中这么写,就会出现语法错误,如下: String regEx = "([\d])\1{2}";
考虑到\符号在java字符串的语法中属于转义符,所以,需要的java的语法是: String regEx = "([\\d])\\1{2}";
为了加深印象,再来看下一个例子:前面连续相同的3位数字,后面连续相同的三位字符的正则表达式的标准语法是: (\d)\1{2}(.)\2{2}
而在java中,是这么写的: String regEx = "(\\d)\\1{2}(.)\\2{2}";
注意,\1和\2指的是patten的位置。
最后给出整段测试代码: @Test
public void test02(){
// 要验证的字符串
String str = "111";
// 正则表达式规则
String regEx = "([\\d])\\1{2}";
//String regEx = "([\d])\1{2}";
// 编译正则表达式
Pattern pattern = Pattern.compile(regEx);
// 忽略大小写的写法
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
// 查找字符串中是否有匹配正则表达式的字符/字符串
boolean rs = matcher.find();
System.out.println(rs);
}
-
JAVA转义字符
2012-04-19 14:16:11JAVA转义字符 -
java转义字符\
2021-12-09 19:08:16java斜杠\,转义字符 -
java转义字符的print输出
2021-07-31 11:57:29java转义字符的print输出 常见的要输出print的转义字符如下表:(当然还有很多转义字符) 当我们想print输出一句话、一个变量值时,有时候为了能够好看一些,通常要加上制表符(tab键)或者回车符、换行符。 ... -
初学Java转义字符及数据类型转换
2022-01-24 14:31:16java转义字符 转义字符 意义 \a 响铃 \b 退格,将当前位置移到前一列 \f 换页,将当前位置移到下页开头 \n 换行,将当前位置移到下一行开头 \r 回车,将当前位置移到本行开头 \t ... -
Java 转义字符
2022-04-23 10:47:37//转义字符 public static void main(String[] args){ // 1 \t :一个制表位,实现对齐的功能 System.out.println("北京\t上海\t广州"); // 2 \n :换行符 System.out.println("北京\n上海\n广州"); // 3-1 \\ :... -
Java转义字符怎么输出的
2021-04-11 11:19:27Java转义字符怎么输出的以下文字...Java转义字符怎么输出的转义字符输出的代码如下:str.replace("\n","") 回车str.replace("\t","")换行str.replace(" ","")空格str.trim()前后空格java 输出%号 转义字符问题Str... -
java 转义字符
2021-03-13 17:22:05java 转义字符Xml代码 \n 回车(\u000a) \t 水平制表符(\u0009) \b 空格(\u0008) \r 换行(\u000d) \f 换页(\u000c) \' 单引号(\u0027) \" 双引号(\u0022) \\ 反斜杠(\u005c) \ddd 三位八进制 ... -
java转义字符(重点)
2022-02-03 10:12:04エスケープシーケンスを使った特殊な文字の表現 Java中的转义字符(Escape Character) 转义字符: 定义:字母前面加上右手杠()来表示常见的那些不能显示的ASCII字符,称为转义字符。 ASCII码表中的所有字符都可以用... -
常用的Java转义字符
2022-02-14 19:26:08public class Test5 { public static void main(String[] args) { ... 常用的Java转义字符 \n : 回车(换行) \t : 一个制表符 \r : 换行 \f : 换页 \' : 单引号 \'' : 双引号 \\ : 反斜杠 . -
java 转义符 \\|
2021-02-27 16:47:40this.p={ m:2,b:2,loftPermalink:'',id:'fks_087065082082083070080094085068072087083067087085080069083084',blogTitle:'java 转义符 \\\\|',blogAbstract:'看一段程序String t =\"a||b||c||d\";\n\nString[] temp... -
浅谈Java转义符\\|
2021-02-12 08:58:35看一段程序String t = "a||b||c||d";...开始有点蒙,后来仔细一看明白了,原来是这样的:\\会转义成反斜杠,反斜杠本身就是转义符,所有就成了“\|”,在进行转义就是|,所以\\|实际上是“|”。更深层次研究:ja... -
java常用转义字符
2021-03-05 13:03:02范围'\000'~'\377'\0:空字符2.Unicode转义字符:\u + 四个十六进制数字;0~65535\u0000:空字符3.特殊字符:就3个\":双引号\':单引号\\:反斜线4.控制字符:5个\' 单引号字符\\ 反斜杠字符\r 回车\n 换行\f 走纸... -
Java转义符_运算符
2021-09-08 10:37:04要注意,转义符时反斜杠"\",不要经常弄错了,在java中,特殊符号的引用都用"\"+符号,都是用于字符串输出 上表中,特殊符号有 \ , ’ , " 因为没有反斜杠,编辑器会认为这个并非时单纯的输出,编译不通过 1、换行... -
Java转义符\\|
2020-06-30 18:29:23Java转义符\\| http://blog.csdn.net/stewen_001/article/details/22871737 看一段程序 String t ="a||b||c||d"; String[] temp = t.split("\\|\\|"); System.out.println(temp.length); 主要是:"\\|\\|... -
java转义字符处理——“\\”替换为“/”
2021-02-28 12:51:28CommonJs原来是叫ServerJs,从名字可以看出是专攻 ...Java项目:学生成绩管理系统(一)学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师... -
java转义字符问题
2021-06-20 18:25:39java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 报这个错误是因为在Java中"\"是一个转义字符,正常要用两个表示一个,"\\" System.out.println(“\\”); 打印出来一个 \, 但是如果... -
java转义字符 \\
2019-05-19 12:53:43转移字符对应的英文是escape character , 转义字符串(Escape Sequence) 代码目的:将字符串中的 . 替换为 \ 错误代码 String str = "ab.ad.ef"; String s = str.replaceAll("\\.", "\\"); System.out.println...