空手道 - 子字符串 - lastindexof trim/ strip/ slice 需要帮助

Karate - substring - lastindexof trim/ strip/ slice help needed

我有一个棘手的身份验证问题,需要多次调用才能最终获得访问令牌。

我目前正在努力将返回的 correlation-id 转换为正确的格式。

来自 post 响应的 correlationID 返回为:Id-c5ea93607b0682a76040b5db 0; ID-c5ea93607b0682a76040b5db 2 我需要转换为 c5ea93607b0682a76040b5db

我试过 * def serviceId1 = correlationID.substring(correlationID.lastIndexOf('-')+ 1).trim()

这导致 c5ea93607b0682a76040b5db 2

我需要从 id 的后端去掉“2”值来制作它 来自:'c5ea93607b0682a76040b5db 2' 至:'c5ea93607b0682a76040b5db'

我尝试了很多方法,但无法改进以开始工作 - 非常感谢任何帮助

代码如下: 场景:获取access_token

* def correlationID = 'Id-c5ea93607b0682a76040b5db 0; Id-c5ea93607b0682a76040b5db 2'
* def serviceId1 = correlationID.substring(correlationID.lastIndexOf('-')+ 1).trim()
* print 'correlationID ' + correlationID
* print 'serviceID ' + serviceId1 

导致 c5ea93607b0682a76040b5db 2(我想去掉尾随的“2”——我该怎么做?

给你:

* def temp = 'c5ea93607b0682a76040b5db 2'
* def pos = temp.lastIndexOf(' ')
* def fixed = temp.substring(0, pos)
* match fixed == 'c5ea93607b0682a76040b5db'