如何去掉双引号?
Posted
技术标签:
【中文标题】如何去掉双引号?【英文标题】:How to remove the double quotes? 【发布时间】:2019-04-23 22:00:41 【问题描述】:我正在尝试传递
"HO_1,HO_2"
来自黄瓜特征文件。
我正在尝试将该值传递给 Chai 包含调用,因此它需要采用以下格式:
"HO_1", "HO_2"
我目前正在使用拆分和连接来创建格式:
const splitE = (('"'+(eventTag.split(",")).join('", "')+'"'));
还有这个console.log
s:
"HO_1", "HO_2"
但是当我尝试将 splitE 传递给 chai 调用时:
expect(estring).to.include(splitE);
它试图将变量作为字符串传递,并且它被传递为
expect(estring).to.include(""HO_1", "HO_2"");
它不起作用,我如何删除我通过的引号?
【问题讨论】:
【参考方案1】:实际上,Chai
框架尚不支持您尝试执行的操作,因为 .include()
method 仅接受一个 value
,因此您的两个 values
都将被视为一个 @ 987654328@.
你可以做的是使用.satisfy()
method,同时检查substrings
:
expect(estring).to.satisfy(estring =>
eventTag.split(",").some(b => estring.includes(b))
);
您可以在 Github 中查看 Check that string contains multiple other strings 公开问题以获取更多详细信息。
【讨论】:
Chai 要求输入是带引号和逗号分隔的列表,"a","b" 所以我需要保留引号,而不是传递给函数的双引号 @Karl 在这种情况下,您需要更改代码以匹配substrings
,例如,您可以使用.satisfy()
,我更新了我的答案,但这种情况有一个缺点。【参考方案2】:
只有slice
all,但引号呢?
expect(estring).to.include(splitE.slice(1, -1));
【讨论】:
以上是关于如何去掉双引号?的主要内容,如果未能解决你的问题,请参考以下文章