替换Java中的多个\ r \ n事件

时间:2018-12-26 19:16:03

标签: java regex string replace

让我们想象一下这个字符串:

  

嘿\ r \ n \ r \ n我是机器人\ r \ n我是狗\ r \ n \ r \ n

如何使用Java将其替换为

  

“嘿\ r \ n我是机器人\ r \ n我是狗\ r \ n”?

仅发生一次

  

\ r \ n吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

一个简单的替换:

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 

并且如果"\r\n"的相邻出现次数超过2:

while (s.contains("\r\n\r\n")) {
    s = s.replace("\r\n\r\n", "\r\n");
} 

答案 1 :(得分:1)

这可以完成工作。

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);