字符串方法 - 友好速搭 -- 开发文档

友好速搭

模板引擎
简介 Liquid 基础语法 Liquid 内置方法 友好速搭主题对象

字符串方法

字符串方法用于string类型的变量,方法如下:


append

拼接字符串:

输入:

{{ 'sales' | append: '.jpg' }}

输出:

sales.jpg

capitalize

将字符串中的首字母转换成大写:

输入:

{{ 'china' | capitalize }}

输出:

China

downcase

将字符串中的字母转成小写:

输入:

{{ 'UPPERCASE' | downcase }}

输出:

uppercase

escape

输出原生 HTML 标签:

输入:

{{ "<p>test</p>" | escape }}

输出:

<p>test</p>

注意:对于特殊字符(比如'%等),可以正常输出,但在做对比时,需要 escape 做特殊处理。
例如,一个品牌名字,叫 Eve's glow,在展示页面,需要对这个品牌,做特殊的视觉效果。
通常的做法:

{% if product.vendor.name == 'Eve's glow' %}
  <!--  -->
{% endif %}

这种情况下,特殊内容无法输出,这是由于,品牌名字中,包含了特殊字符'。 在做比较判断时,需要做如下处理:

<!-- product.vendor.name = 'Eve&#39;s glow' -->

{% capture vendor %}{{ "Eve's glow" | escape }}{% endcapture %}
{% if product.vendor.name == vendor %}
  品牌:{{ vendor }}
{% endif %}

<!-- 输出:品牌:Eve's glow -->

md5

生成字符串的 MD5 散列值:

输入:

{{ '' | md5 }}

输出:

dbefd3ada018615b35588a01e216ae6e

newline_to_br

将字符串中的换行符,转换成 HTML 标签<br/>

输入:

{% capture var %}
  One 
  Two
  Three
{% endcapture %}
{{ var | newline_to_br }}

输出:

<br>
One <br>
Two<br>
Three<br>

prepend

在字符串前面,拼接另外一个字符串:

输入:

{{ '' | prepend: '' }}

输出:

属于你的品牌

remove

移除字符串中匹配到的字符:

输入:

{{ "" | remove: "" }}

输出:

你好,我在中国。

remove_first

移除字符串中匹配到的第一个需要删除的字符串;

输入:

{{ "" | remove_first: "" }}

输出:

你好。再会,世界。

replace

替换字符串中匹配到的字符:

输入:

<!-- product.title = "漂亮T恤" -->
{{ product.title | replace: '', '' }}

输出:

一级棒T恤

replace_first

替换字符串中第一个匹配到的字符:

输入:

<!-- product.title = "漂亮真漂亮的T恤" -->
{{ product.title | replace_first: '', '' }}

输出:

一级棒真漂亮的T恤

slice

截取字符串的一部分输出,第一个参数为截取位置(整数,字符串从左边开始第一个字符为 0,当为负数时从字符串末端开始倒数),第二个参数为截取长度(正整数,可不传,则默认为 1):

输入:

{{ "hello" | slice: 2 }}<br>
{{ "hello" | slice: 1, 3 }}<br>
{{ "hello" | slice: -3, 2  }}<br>

输出:

l
ell
ll

split

使用指定参数,将字符串分隔成为数组:

输入:

{% assign words = "             " | split: ' ' %}
  第一个字: {{ words.first }}<br>
  第一个字: {{ words[0] }}<br>
  第二个字: {{ words[1] }}<br>
  最后一个字: {{ words.last }}<br>
  所有字: {{ words | join: ', ' }}<br>
{% for word in words %}
  {{ word }} 
{% endfor %}

输出:

第一个字: 不
第一个字: 不
第二个字: 仅
最后一个字: 趣
所有字: 不, 仅, 是, 开, 店, 更, 是, 享, 受, 创, 造, 的, 乐, 趣
不 仅 是 开 店 更 是 享 受 创 造 的 乐 趣

strip

移除字符串左右两侧的制表符(Tab)、空格和换行:

输入:

{{ '      ' | size }}<br/>
{{ '      ' | strip | size }}

输出:

10
4

lstrip

移除字符串左侧的制表符(Tab)、空格和换行:

输入:

{{ '      ' | size }}<br/>
{{ '      ' | lstrip | size }}

输出:

10
7

rstrip

移除字符串右侧的制表符(Tab)、空格和换行:

输入:

{{ '      ' | size }}<br/>
{{ '      ' | rstrip | size }}

输出:

10
7

strip_html

移除字符串中所有 HTML 标签:

输入:

{{ "<h1>Hello</h1> World" | strip_html }}

输出:

Hello World

strip_newlines

移除字符串中的所有换行符:

输入:

{% capture var %}
  不仅是开店,
  更是享受创造的乐趣。
{% endcapture %}
{{ var | strip_newlines }}

输出:

不仅是开店,更是享受创造的乐趣。

truncate

按指定参数截断字符串,多余的字符串用省略号...代替,其中的省略号,也包括在指定参数长度中:

输入:

{% capture var %}
  不仅是开店,
  更是享受创造的乐趣。
{% endcapture %}
{{ var | truncate: 7 }}

输出:

不仅是...

upcase

将字符串中英文字母转成大写:

输入:

{{ 'newbalance' | upcase }}

输出:

NEWBALANCE

url_escape

将字符串进行一次 URL 编码:

输入:

{{ "<> & <>" | url_escape }}

输出:

%3C%E4%BD%A0%E5%A5%BD%3E+%26+%3C%E4%B8%96%E7%95%8C%3E

url_param_escape

将字符串针对 URL 参数规则进行编码:

输入:

{{ "<> & <>" | url_escape }}

输出:

%3C%E4%BD%A0%E5%A5%BD%3E+&+%3C%E4%B8%96%E7%95%8C%3E
免费领取15天试用
立即注册
联系客服
微信咨询
微信二维码

领取免费试用资格

姓名 *

电话 *

公司名称

所在地区

意向产品

提交

提交成功

你好, XXX女士/先生 ,你的需求已提交成功,后续会有专门的客户经理与你电话联系。谢谢!