【发布时间】:2018-12-26 19:16:02
【问题描述】:
让我们想象一下这个字符串:
嘿\r\n\r\n我是机器人\r\n我是狗\r\n\r\n
如何用Java替换它
“嘿\r\n我是机器人\r\n我是狗\r\n”?
只出现一次
\r\n ?
【问题讨论】:
-
试试
.replaceAll("(\r\n){2,}", "\r\n");
让我们想象一下这个字符串:
嘿\r\n\r\n我是机器人\r\n我是狗\r\n\r\n
如何用Java替换它
“嘿\r\n我是机器人\r\n我是狗\r\n”?
只出现一次
\r\n ?
【问题讨论】:
.replaceAll("(\r\n){2,}", "\r\n");
一个简单的替换:
String s = "hey \r\n\r\n I am a robot \r\n I am a dog \r\n\r\n";
System.out.println("Original: " + s);
s = s.replace("\r\n\r\n", "\r\n");
System.out.println("Result: " + s);
将打印:
Original: hey
I am a robot
I am a dog
Result: hey
I am a robot
I am a dog
如果有超过 2 个相邻的 "\r\n":
while (s.contains("\r\n\r\n")) {
s = s.replace("\r\n\r\n", "\r\n");
}
【讨论】:
这可以完成这项工作。
String messy_string = "hey \r\n\r\n I am a robot \r\n I am a dog \r\n\r\n";
String regex_pattern = "[\r\n]+";
String replacement = "\r\n";
String sanitized_str = messy_string.replaceAll(regex_pattern, replacement);
【讨论】: