使用多行迭代String

use*_*330 5 java string groovy loops

我得到了一些数据:

def data = "# some useless text\n"+
        "# even more\n"+
        "finally interesting text"
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到那个"有趣的部分"?所以基本上所有的行,不是以#开头.

tim*_*tes 10

一个Groovy选项是:

def data = '''# some useless text
             |# even more
             |finally interesting text'''.stripMargin()

List lines = data.split( '\n' ).findAll { !it.startsWith( '#' ) }

assert lines == [ 'finally interesting text' ]
Run Code Online (Sandbox Code Playgroud)


小智 8

data.eachLine {
    if (!it.startsWith( '#' )
        println it
}
Run Code Online (Sandbox Code Playgroud)


小智 6

使用split方法获取子字符串然后检查每个以"#"开头的字符串.例如:

String[] splitData = data.split("\n");
for (String eachSplit : splitData) {
  if (!eachSplit.startWith("#")) {
    print(eachSplit);
  }
}
Run Code Online (Sandbox Code Playgroud)