Извлечение подстрок

Elm:
Извлечение подстрок

Как:

В Elm это делается легко. Для начала используем String.slice:

import String exposing (slice)

fullText : String
fullText = "Hello, Elm world!"

-- Извлечение "Elm"
substring : String
substring = slice 7 10 fullText

-- Вывод: "Elm"

Теперь давайте будем немного более динамичны с String.left и String.right:

import String exposing (left, right)

-- Получение первых 5 символов
leftString : String
leftString = left 5 fullText

-- Вывод: "Hello"

-- Получение последних 5 символов
rightString : String
rightString = right 5 fullText

-- Вывод: "orld!"

Погружаемся глубже

Исторически, извлечение подстроки существует столько же, сколько и программирование. В Elm, как и в других функциональных языках, функции манипуляции строками являются неизменяемыми - они возвращают новые строки, а не изменяют оригинал.

Существуют альтернативы, такие как String.dropLeft и String.dropRight. Они удаляют символы с любого конца строки:

import String exposing (dropLeft, dropRight)

-- Удаление первых 7 символов
droppedLeftString : String
droppedLeftString = dropLeft 7 fullText

-- Вывод: "Elm world!"

-- Удаление последних 6 символов
droppedRightString : String
droppedRightString = dropRight 6 fullText

-- Вывод: "Hello, Elm"

С точки зрения реализации, эти функции встроены в стандартную библиотеку Elm и поддерживают Юникод, хотя с парами замещения Юникода и комбинированными символами есть свои особенности.

Смотрите также