1、正则表达式特殊字符

Java 代码中使用到正则表达式里的特殊字符需要使用转义符 \ 进行转义

 . ? * + ! ^ $ [ ] ( ) \ 

因为反斜线 \ 也是特殊字符,所以转义需双反斜线 \\,否则会报 java.util.regex.PatternSyntaxException 异常。

    public static void main(String[] args) {
String string = "435212.jpg";
if (string.contains(".")) {
System.out.println("包含一个点");
}
String suffix = string.split("\\.")[1];
System.out.println(suffix);
}

上面代码的运行结果是:

可以看出 contains 方法不需要转义,而 split 方法就需要转义了,所以 JDK API 中只有参数是正则表达式的地方才需要转义。

java.lang.String 类中参数是正则表达式的方法有:

public boolean matches(String regex);
public String replaceFirst(String regex, String replacement);
public String replaceAll(String regex, String replacement);
public String[] split(String regex);
public String[] split(String regex, int limit);

将List通过正则转换为SQL中IN条件字符串(使用了replaceAll):

public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("aaaa");
list.add("bbbb");
String str = "('" + list.toString().replaceAll("\\[|\\]|\\s", "").replaceAll(",", "','") + "')";
System.out.println(str);
}

2、文件路径的写法

Windows下路径写法,间隔符使用双反斜线 \\

C:\\Users\\QPING\\Desktop\\JavaScript\\2.html

Linux下路径写法,间隔符用斜线 /

/site/images/qiyinwang/userid/xxxxx.jpg

或者在Java中可以直接使用  File.separator ,可以自动识别为对应操作系统下的文件间隔符

String path = "D:"+File.separator+"tempPicture.jpg";//文件保存路径 D:\tempPicture.jpg
String path = File.separator+"site"+File.separator+"tempPicture.jpg";//文件保存路径 /site/tempPicture.jpg

Java 代码需要使用转义符的地方的更多相关文章

  1. java转义符和正则表达式转义符

    举例来说,连续相同的3位数字的正则表达式的标准语法是: ([\d])\1{2} 但是如果在java代码中这么写,就会出现语法错误,如下: String regEx = "([\d])\1{2 ...

  2. Java转义符\\|

    http://blog.csdn.net/stewen_001/article/details/22871737 看一段程序 String t = "a||b||c||d"; St ...

  3. JAVA 中转义符的理解

    生物信息中有时候会遇到JAVA写的程序,今天阅读源码的时候发现对于正则中的转义符不好理解,后来查资料后终于弄明白了,这里详细说明一下: 字符串的表示有三种方法:1.直接单字符,例如"A&qu ...

  4. java 转义符

      java 转义符 CreationTime--2018年7月12日15点33分 Author:Marydon 1.常见转义符 转义符在java中有特殊含义  转义字符  特殊含义  \b  退格( ...

  5. java基础之转义符、数据类型

    一.  转义符 1.\n \n的作用是换行,也就是和键盘上的回车键相同 2.\t \t的作用是制表,就是以八个空格为一个单位,当不足八个时会自动补齐八个,如asd\tfgh,那么输出的将会是 . 3. ...

  6. 浅谈Java转义符\\|

    看一段程序 String t = "a||b||c||d"; String[] temp = t.split("\\|\\|"); System.out.pri ...

  7. Java语言基础---转义符

    转义符 转义符使用“\”表示.常用转义符如下: 1.‘\n’回车 2.‘\t’制表位字符,一个表示向右跳8-10个字符 3.‘\\’表示’\’ 4.‘\’’表示单引号 5.‘\’’’表示双引号 6.‘ ...

  8. 移动端造json假数据时的坑(转义符问题)

    最近在 Json 数据的解析上碰到了一些坑,特此记录一下. 正文 迭代开发中,经常出现服务端接口还没开发完成的情况,所以经常需要移动端自己在本地造一些假数据. emmm,虽然说好像造假数据也不是什么很 ...

  9. 使用Java代码配置MyBatis Generator

    使用MyBatis Generator生成器时,有时候没办法使用xml型的配置文件,比如将Maven项目设置成pom打包方式(<packaging>pom</packaging> ...

随机推荐

  1. oracle数据链接

    using System; using System.Collections.Generic; using System.Data; using System.Data.OracleClient; u ...

  2. 用ActiveX 创建自己的comboBox 控件(一)

    新建ActiveX工程ActiveXcomboBox        Ok->next->next->next, create control based on 选择combobox, ...

  3. matlab中变量问题——readonly 索引超出矩阵维度 workspacefunc 215

    matlab程序运行过程中会出现如上提示,在网上检索未果,键入dbstop if error语句也无法定错误之处,就想这个错误不是一般的错误. 通过间隔打断点的方式最后定位错误为一句exist = f ...

  4. ReactNative项目结构目录详解

    在使用 react-native init TestProject 在新建项目时,会看到如下目录 React Native结构目录 名称 描述 android目录 Android项目目录,包含了使用A ...

  5. 学JS的心路历程 - JS应用

    各家电商网站都推出了各种活动和现今优惠券,当时在逛PTT时看到了有篇文章,提供代码教大家用JS的方式抢票,看了一下后发现好像很多人好奇这是怎么做的,于是就想说想一篇文章来讲解一下. 我们先来看一下折价 ...

  6. Mark,20180127,技术博客之路开启!

    不怎么会说话,自己本身少说话的撸码loner,少说多做.毕业从事手游一年多,之前主要从事Cocos2dx,刚转投Unity不到一个月,后面主要总结下自己在这两方面开发过程中的一些历程,希望自己能有所积 ...

  7. Python类继承(转发)

    目录 一.概述 二.类的继承 2.1 继承的定义 2.2 构造函数的继承 2.3 子类对父类方法的重写 三.类继承的事例 回到顶部 一.概述 面向对象编程 (OOP) 语言的一个主要功能就是“继承”. ...

  8. ExecuteReader()获得数据

    ExecuteReader用于实现只进只读的高效数据查询.ExecuteReader:返回一个SqlDataReader对象,可以通过这个对象来检查查询结果,它提供了只进只读的执行方式,即从结果中读取 ...

  9. ionic3搭建笔记及编译成apk

    一.安装node.js 二.安装Ionic2 npm install -g ionic (安装最新版本) ionic -v //查看版本号(是否安装成功) npm uninstall -g ionic ...

  10. HDU 3666.THE MATRIX PROBLEM 差分约束系统

    THE MATRIX PROBLEM Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...