Вот решение с фильтром slice
:
{%- assign phone = '1231231234' -%}
{%- assign part1 = phone | slice: 0, 3 -%}
{%- assign part2 = phone | slice: 3, 3 -%}
{%- assign part3 = phone | slice: 6, 4 -%}
{{ part1 | append: '-' | append: part2 | append: '-' | append: part3 }}
Приведенное выше решение подразумевает, что вы уверены, что номер телефона содержит 10 символов. Его можно немного откорректировать, изменив значение длины на реальный размер строки или просто на какое-нибудь значение, например 999
, чтобы убедиться, что последняя часть содержит все символы.
Вы также можете for
l oop:
{%- assign phone = '1231231234' -%}
{%- assign phoneChars = phone | split: '' -%}
{%- assign phoneWithHyphens = '' -%}
{%- for char in phoneChars -%}
{%- assign phoneWithHyphens = phoneWithHyphens | append: char -%}
{%- if forloop.index == 3 or forloop.index == 6 -%}
{%- assign phoneWithHyphens = phoneWithHyphens | append: '-' -%}
{%- endif -%}
{%- endfor -%}
{{- phoneWithHyphens -}}