如何检查液体中的引号?

问题描述 投票:0回答:6

我正在使用像“James“Jim”Smith”这样的输入字符串,其中一个人的昵称在字符串中用双引号引起来。我一直试图使用 contains 运算符来查找一个人是否有昵称,但它从未找到带双引号的条目。举个例子:

<-- Name - James "Jim" Smith -->
{% if Name contains '\"' %}
   Do Something
{% else %}
   Always gets here
{% endif %}

如何使用 contains(或 split)在字符串中搜索文字双引号?

liquid
6个回答
3
投票

你不需要逃避它。以下将返回 true:

{% assign name = 'James "Jim" Smith' %}
{% if name contains '"' %}
  true
{% else %}
  false
{% endif %}

2
投票

我解决问题的方法:

{{ post.title | remove: '&quot;'}}

1
投票

通过液体地图,我观察到

\\\"
转化为
\"


0
投票

我读过有关通过加倍来转义单引号和双引号的内容,并且我自己在这样做方面取得了一些成功......

在我自己的示例中,我试图从字符串中删除引号 以下不起作用:

{{ post.title | remove: """ }}

但是这确实有效:

{{ post.title | remove: """" }}

我认为这会在你的 if 声明中起作用:

{% if name contains '""' %}

但我不确定在分配字符串时如何工作,或者是否需要在“分配”中转义它


0
投票

如果以上方法都不适合您,请尝试这个。删除双引号时它为我做到了:

| remove '"'

-2
投票

删除:“”'似乎对我有用

© www.soinside.com 2019 - 2024. All rights reserved.