如何检查接收文件中的前6个位置是否与Groovy中的第一行或第二行匹配

时间:2013-09-18 08:13:15

标签: groovy

如果第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
}

应该是类似上面的内容,或者如果可能的话,可以在一行中进行测试。

1 个答案:

答案 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