JAVA中String的replaceAll问题

来源:百度知道 编辑:UC知道 时间:2024/05/06 08:49:55
我想把“\”变成“\\”,或者变成“/”。但是报错。请问如何实现?
不行啊,三个\的那个报错编译错误

之所以出错是因为
String的replaceAll是采用“正则表达式”的方式替换。

在正则表达式中
\ (一个斜线)是用 \\ 来表示(即:用两个斜线表示一个斜线)

而在Java语言中 \ (一个斜线)是用 \\ 来表示。(即:也用两个斜线表示一个斜线)

所以正则表达式为两个斜线("\\")的写法,在Java语言中要用4个斜线来表示"\\\\"
(即: 一个"现实中的斜线" 在 正则表达式中用2个斜线来表示,而在Java中2个斜线要用4个斜线来表示)

所以代码如下:
/*
例如: str = "\\\\"; 实际上是表示2个斜线。
你的目的是将2个"实际"斜线 替换为4个"实际斜线"
需要编写如下代码
*/
// str的实际内容是\\ (即两个斜线)
String str = "\\\\";
//将str中的两个斜线,转换为两个双斜线(即: 4条斜线)
str = str.replaceAll("\\\\", "\\\\\\\\");
System.out.println(str);

看着有些晕吧。。。呵呵~~
没办法。。。只能这样写。。。。

你可以去学习一下正则表达式。

正则表达式说简单也简单,说难那还真够难的。

关键是用正则表达式去写什么东西。

曾经写过一个判断日期的正则表达式。。。。

我靠。。。居然写了N行