java String 类的replace 和replaceAll 方法替换“?”号
2016-01-21 21:20
726 查看
这两个 方法确实简单,我们也知道他们就是用来进行字符和字符串的替换的,但是还是注意:
注意一个匹配的字符串,一个是正则表达式匹配的字符串所以他们是有区别的,尤其是对于一些特殊字符。
这个特殊字符就有 “?” 这个特殊字符,因为在正则表达式中他确实有特殊意义所以在使用replaceAll() 方法的时候要注意:
replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar替换此字符串中出现的所有 oldChar得到的。 |
replaceAll(String regex,String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 |
这个特殊字符就有 “?” 这个特殊字符,因为在正则表达式中他确实有特殊意义所以在使用replaceAll() 方法的时候要注意:
String a="12345?6789"; String b=a.replace("?", "a"); // 这里的[?] 才表示字符问号,这样才能正常替换。不然在正则中会有特殊的意义就会报异常 String c=a.replaceAll("[?]", "a"); System.out.println(b); System.out.println(c); 也就是如果要在正则表达式中使用“?”则应该使用[?] 而不应该是 ? 因为?在正则表达式中有特殊意义。
相关文章推荐
- Mac OS安装java runtime环境
- 用java -X 命令查看JVM的配置说明:
- java包及其使用
- 【JAVA学习】单例模式的七种写法
- Spring面试题一
- java servlet 总览
- 简单的web实现
- 我在JavaWeb开发中的SSH整合步骤
- Elasticsearch中使用ik分词器 java api
- 冒泡排序java
- Java NIO使用及原理分析 (四)
- Java图片上传压缩处理
- Java快速入门【11~20待续】
- spring AOP
- java多线程之(yield)
- 【JAVA/辨析】Java 中Comparable和Comparator区别比较
- Java基础01 从HelloWorld到面向对象
- java多线程之(sleep)
- JavaSE入门学习6:Java基础语法(二)
- Javah使用问题解决