如何从文本中删除新行和标签?

时间:2017-09-25 14:19:31

标签: java regex

我有一个像

这样的文字
"this is line 1\n\t\n\t\tthis is line 2\n\n\n\t\tthis is line 3\t\t\tthis is line 4"

我想要做的是从此文本中删除重复的特定字符(“\ n”,“\ t”)。

预期结果;

"this is line 1\n\tthis is line 2\n\tthis is line 3\tthis is line 4"

我有以下正则表达式,但它只删除重复的字符。

String text = text.replaceAll("([\n\t])\\1+", "$1");

这有什么正则表达式吗?

编辑:例如有一个类似

的文字
"\n\t\tHELLOWORLD\t\t\n\n\n\t"

我想要的是;

"\n\tHELLOWORLD\t\n"

1 个答案:

答案 0 :(得分:0)

这是解决方案;

首先使用第一个正则表达式删除所有重复的字符。之后替换连续的文本。

for(int i = 0; i < 10; i++){
    text= text.replaceAll("([\n\t])\\1+", "$1");
    text= text.replaceAll("\n\t\n", "\n\t");
}