如何在 varnish-vcl 中提取字符串的前 n 个字符?

How to extract first n characters of a string in varnish-vcl?

我正在寻找一种从 VCL 中的字符串中提取前 'n' 个字符的方法。我在 VCL 文档中找不到 trim(str,starting_pos) 或 substring(str,len) 之类的函数。我已经尝试在 google 和 Whosebug 上搜索这个,但没有任何结果,所以我在这里问。我感谢您的帮助。

我不知道 Fastly Varnish 环境中有任何此类字符串函数可用。

不过,我认为您可以使用正则表达式捕获组来完成相同的任务。

set req.http.Foo = "foobar";

if (req.http.Foo ~ "^(.{0,3})") {
  set resp.http.match0 = re.group.0; # this should now equal 'foo'
}