如果第1行或第2行的前6个字符与'ABCDEFG'文本匹配,我想检查groovy。我将如何在Groovy中执行此操作?
def testfile = '''
FEDCBAAVM654321
ABCDEFMVA123456
'''
if ( testfile[0..6].equals("ABCDEF") ) {
// First line starts with ABCDEF
}
if ( testfile.tokenize("\n").get(1)[0..6].equals("ABCDEF") ) {
// Second line starts with ABCDEF
}
应该是类似上面的内容,或者如果可能的话,可以在一行中进行测试。
答案 0 :(得分:2)
您可以使用:
def testfile = '''FEDCBAAVM654321
|ABCDEFMVA123456
'''.stripMargin()
testfile.tokenize( '\n' ) // split on newline
.take( 2 ) // take the first two lines
.every { it.startsWith( 'ABCDEF' ) } // true if both start with ABCDEF
或
testfile.tokenize( '\n' ) // split on newline
.take( 2 ) // take the first two lines
.any { it.startsWith( 'ABCDEF' ) } // true if either or both start ABCDEF