我知道有一个 contains
关键字,以便我可以使用:
{% if some_string contains sub_string %}
<!-- do_something -->
{% ... %}
但是如何检查字符串是否以特定子字符串结尾?我试过这个,但它不起作用:
{% if some_string.endswith? sub_string %}
<!-- do_something -->
{% ... %}
最佳答案
作为解决方法,您可以使用 string slice
方法
startIndex: some_string length - sub_string length
和 stringLength: sub_string size
它在液体模板中有点结块,但看起来像:
{% capture sub_string %}{{'subString'}}{% endcapture %}
{% capture some_string %}{{'some string with subString'}}{% endcapture %}
{% assign sub_string_size = sub_string | size %}
{% assign some_string_size = some_string | size %}
{% assign start_index = some_string_size | minus: sub_string_size %}
{% assign result = some_string | slice: start_index, sub_string_size %}
{% if result == sub_string %}
Found string at the end
{% else %}
Not found
{% endif %}
如果 some_string 为空或比 sub_string 短,它仍然可以工作,因为切片结果也将为空
关于ruby - 如何检查字符串是否以 Liquid 中的特定子字符串结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37022432/