1

我想检查第 1 行或第 2 行的前 6 个字符是否与文本“ABCDEFG”匹配。我将如何在 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
}

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

4

1 回答 1

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
于 2013-09-18T08:32:26.463 回答