如何从空手道中的响应标头中提取价值

发布于 2025-01-29 08:35:44 字数 620 浏览 1 评论 0原文

我想要响应标头etag的特定值。

响应标头:

etag: W/"118-pbdwwFo9SKNhD3Lx5iHJyngpq00"

空手道代码:

    * def etag = responseHeaders['etag'][0]
    * print 'Value of Etag is', etag
    * def etagValue = etag.substring(etag.lastIndexOf('-') + 1)
    * print 'Value of Etag is', etagValue

它为我提供了预期的完整ETAG的价值。现在,我只想获得以下特定值。

ETAG变量具有值

W/"118-pbdwwFo9SKNhD3Lx5iHJyngpq00"

etagvalue变量的值,在此处如何从最终

pbdwwFo9SKNhD3Lx5iHJyngpq00"

期望值中删除双引号,左边界是“我需要的值的右边界”。

pbdwwFo9SKNhD3Lx5iHJyngpq00

I want a specific value from the response header etag.

Response header:

etag: W/"118-pbdwwFo9SKNhD3Lx5iHJyngpq00"

Karate Code:

    * def etag = responseHeaders['etag'][0]
    * print 'Value of Etag is', etag
    * def etagValue = etag.substring(etag.lastIndexOf('-') + 1)
    * print 'Value of Etag is', etagValue

It is giving me the value of complete etag which is expected. Now I want to only get specific values as below.

etag variable has value

W/"118-pbdwwFo9SKNhD3Lx5iHJyngpq00"

etagValue variable has value here how to remove double quotes from end

pbdwwFo9SKNhD3Lx5iHJyngpq00"

Expected value where - is left boundary and " is right boundary of the value I need.

pbdwwFo9SKNhD3Lx5iHJyngpq00

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

李不 2025-02-05 08:35:44

使用indexof()两次。在这里您要去:

* def etag = 'W/"118-pbdwwFo9SKNhD3Lx5iHJyngpq00"'
* def temp1 = etag.substring(etag.indexOf('-') + 1)
* def temp2 = temp1.substring(0, temp1.indexOf('"'))
* match temp2 == 'pbdwwFo9SKNhD3Lx5iHJyngpq00'

为了完整,还有a 可以使用Regex的API:

* def extracted = karate.extract(etag, '-([^\\"]+)"', 1)
* match extracted == 'pbdwwFo9SKNhD3Lx5iHJyngpq00'

Use indexOf() two times. Here you go:

* def etag = 'W/"118-pbdwwFo9SKNhD3Lx5iHJyngpq00"'
* def temp1 = etag.substring(etag.indexOf('-') + 1)
* def temp2 = temp1.substring(0, temp1.indexOf('"'))
* match temp2 == 'pbdwwFo9SKNhD3Lx5iHJyngpq00'

For completeness, there is also a karate.extract() API that can use regex:

* def extracted = karate.extract(etag, '-([^\\"]+)"', 1)
* match extracted == 'pbdwwFo9SKNhD3Lx5iHJyngpq00'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文