我正在使用像“James“Jim”Smith”这样的输入字符串,其中一个人的昵称在字符串中用双引号引起来。我一直试图使用 contains 运算符来查找一个人是否有昵称,但它从未找到带双引号的条目。举个例子:
<-- Name - James "Jim" Smith -->
{% if Name contains '\"' %}
Do Something
{% else %}
Always gets here
{% endif %}
如何使用 contains(或 split)在字符串中搜索文字双引号?
你不需要逃避它。以下将返回 true:
{% assign name = 'James "Jim" Smith' %}
{% if name contains '"' %}
true
{% else %}
false
{% endif %}
我解决问题的方法:
{{ post.title | remove: '"'}}
通过液体地图,我观察到
\\\"
转化为\"
我读过有关通过加倍来转义单引号和双引号的内容,并且我自己在这样做方面取得了一些成功......
在我自己的示例中,我试图从字符串中删除引号 以下不起作用:
{{ post.title | remove: """ }}
但是这确实有效:
{{ post.title | remove: """" }}
我认为这会在你的 if 声明中起作用:
{% if name contains '""' %}
但我不确定在分配字符串时如何工作,或者是否需要在“分配”中转义它
如果以上方法都不适合您,请尝试这个。删除双引号时它为我做到了:
| remove '"'
删除:“”'似乎对我有用