本文介绍了使用Java从多行字符串中删除空行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个多行字符串,其他行之间有一些空行.看起来像:

I have a multi-line string and some empty lines between other lines. It looks like:

def msg = """
                AAAAAA

                BBBBBB


                CCCCCC

                DDDDDD







                EEEEEE
                TEST
                FFFFF


                GGGGGG
"""

我尝试了一些正则表达式:

I tried some regex expression with :

msg = msg.replaceAll('(\n\\\\s+\n)+', '')

msg = msg.replaceAll('(\r?\n){2,}', '$1');

但是我所寻找的东西并没有什么好处...

But nothing is good about what I'm looking...

是否可以仅删除空行?得到这样的东西:

Is it possible to remove only empty lines? to get something like that :

def msg = """
                    AAAAAA
                    BBBBBB
                    CCCCCC
                    DDDDDD
                    EEEEEE
                    TEST
                    FFFFF
                    GGGGGG

"""

推荐答案

使用正则表达式(?m)^[ \t]*\r?\n"删除空行:

Use regex (?m)^[ \t]*\r?\n" to remove empty lines:

log.info msg.replaceAll("(?m)^[ \t]*\r?\n", "");

要仅保留1行,请使用[\\\r\\\n]+:

To remain only 1 line use [\\\r\\\n]+:

log.info text.replaceAll("[\\\r\\\n]+", "");

如果您以后要使用该值,则将其分配

If you want to use the value later, then assign it

text = text.replaceAll("[\\\r\\\n]+", "");

这篇关于使用Java从多行字符串中删除空行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-09 10:33