在一个用于soapui的groovy脚本中 我有一个循环,我试图用一个变量定义两个变量,但我不知道是语法:
在我的源文件 liste.txt 中,我必须将每个 textLine 的字段(id和日期)分隔为 - ,如下所示: 0D011A2571D4E6FDF290-2021
0D099Z2571D4E6FDF290-2020
//locate the source file
File file1 = new File("C:/User/liste.txt")
List textLine = file1.readLines()
def (id, date) = textLine.tokenize( '-' ) //it doesn't work here !
如果我手动编写字符串 textLine :
def (id, date) = '0D099Z2571D4E6FDF290-2020'.tokenize( '-' )
它有效,结果是:
id = 0D099Z2571D4E6FDF290
date = 2020
我尝试了很多语法但每次都有问题... 如何在tokenizer中编写变量 textLine ?或者是否有一种简单的方法来定义带有1个变量的n个变量?
非常感谢!
答案 0 :(得分:1)
类似的东西:
new File("C:/User/liste.txt").splitEachLine( '-' ){
if( 2 != it.size() ) return // bail out
def (id, date) = it
doSmthWith( id, date )
}
答案 1 :(得分:0)
最后,我继续搜索并找到另一个技巧,我这样做了:
文件file1 =新文件(" C:/User/liste.txt") 列出textLine = file1.readLines()// read toutes les lignes
def Line = textLine.pop()//取最后一行
def id = Line [0..19] //从Line
中拆分19个第一个caracteresdef date = Line [21..24] //从行
分割出21到24的caracteres结果:
当前行:0D010710C9D4DBC8675B-2024
id = 0D010710C9D4DBC8675B
日期= 2024
希望这能帮助一些人。感谢 injecter 提供帮助