我有一段字符串中如"[test]".这是从客户端得到的。现在我想把 '['替换成其他的符号.
我是这样写的 str = str.replaceAll("[", "@"); // 编译正确,运行的时候出错了. 未关闭的表达式
我加个转义符 str = str.replaceAll("\[", "@"); // 编译都不通过了。。谁能告诉我怎么弄呢。谢谢
我是这样写的 str = str.replaceAll("[", "@"); // 编译正确,运行的时候出错了. 未关闭的表达式
我加个转义符 str = str.replaceAll("\[", "@"); // 编译都不通过了。。谁能告诉我怎么弄呢。谢谢
解决方案 »
- 多线程在双核CPU下无IO阻塞能提高效率吗
- ant调试的一个小问题,希望高手能帮忙解决下!
- 是否有java图像编书下载
- 请问怎样在JTable的单元格加入ToolTip, 我的JTable是加载TableModel形成的
- 各位达人推荐几本好书
- class inclass=System.out.getclass()是什么意思?起什么作用?
- 如果给图中的某个区域动态着色?
- 问一个关于输出的问题 用到了GregorianCalendar 谢谢~~
- 先給分 再問 收郵件附件中文問題 急急急,幫忙看看
- 小弟刚学JAVA,不知道先吃它的那块好,还有怎么设置命令的环境变量,谢谢了
- 今天面试的一道多线程题,求解
- static_cast<int>是什么东西
str.replaceAll("[\\[]", "@@")
或者
str.replaceAll("\\[", "@@")
replace("[","@");
public class TestS {
public static void main(String args[]) {
String s = "[test]";
System.out.println(s.replace("[","@"));
}
}
[code]
replace(str1,str2)是替换所有str1字符串
replaceAll(reg1,str2)是替换所有匹配reg1正则表达式的字符串
两者都是由正则表达式类库实现的,但是 replace 采用的是字符串原有的意思来替换,而 replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特殊意义的,使用时需要转义,这 15 个字符分别是:( [ { \ ^ - $ | } ] ) ? * + .转义时可以采用两种方式:1. 正则表达式中表述上述字符,需要在前面加上“\”,但是“\”是 Java 中的特殊字符,在 Java 代码中用“\\”表示正则表达式中的“\”。
2. 在需要保留本身意义的前后加上 \Q 和 \E,把特殊字符放在这里面就成普通字符了。PS:若想表示一个“\”,在 Java 代码中需要使用“\\\\” :)
向火龙果学习
两者都是由正则表达式类库实现的,但是 replace 采用的是字符串原有的意思来替换,而 replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特殊意义的,使用时需要转义,这 15 个字符分别是: ( [ { \ ^ - $ ¦ } ] ) ? * + . 转义时可以采用两种方式: 1. 正则表达式中表述上述字符,需要在前面加上“\”,但是“\”是 Java 中的特殊字符,在 Java 代码中用“\\”表示正则表达式中的“\”。
2. 在需要保留本身意义的前后加上 \Q 和 \E,把特殊字符放在这里面就成普通字符了。 PS:若想表示一个“\”,在 Java 代码中需要使用“\\\\” :)
我也觉得是这样……