Перейти к основному содержимому

20.13. Как разредить текст пробелами?

В: Как разредить текст пробелами?

Например, сделать разрежение текста через каждые три символа.

О:

Для того, чтобы сделать подобное, понадобятся функции для работы с текстом и цикл.

Простой алгоритм для разрежения текста (отсчёт начинается от первого символа в строке)

!$text - здесь лежит текст

loop while len($text)>0:
!вырезаем первые три символа

$t=$mid($text,1,3)
!убираем первые три символа из строки

$text=$mid($text,4)
! составляем новую строку

$print_text=$print_text+$t+' '
end

Если разрежение необходимо производить через каждые три символа, начиная с последнего, немного меняем алгоритм:

loop while len($text)>0:
!вырезаем последние три символа

$t=$mid($text,len($text)-2)
!убираем последние три символа из строки

$text=$mid($text,1,len($text)-3)
! составляем новую строку

$print_text=' '+$t+$print_text
end

Легко заметить, что данные алгоритмы будут добавлять лишний символ пробела в конце или в начале строки. Но этот недостаток так же легко исправить:

loop while len($text)>0:
$t=$mid($text,1,3)
$text=$mid($text,4)
if len($text)>0:
$print_text=$print_text+$t+' '
else
$print_text=$print_text+$t
end
end

В библиотеке "easy.math" присутствует готовая функция, разрежающая текст, с дополнительными возможностями и различными настройками. См. функцию em.str.thin.