Spec-Zone.ru › Nim

std/strmisc

Источник Изменить

Этот модуль содержит различные вспомогательные функции для работы с строками, которые редко используются по сравнению с функциями в strutils.

Импорты

strutils

Процедуры

func expandTabs(s: string; tabSize: int = 8): string {....raises: [], tags: [],
    forbids: [].}

Расширяет символы табуляции в s, заменяя их пробелами.

Количество вставленных пробелов для каждого символа табуляции равно разнице между текущим номером столбца и следующей позицией табуляции. Позиции табуляции встречаются через каждые tabSize символов. Номер столбца начинается с 0 и увеличивается с каждым символом и вставленным пробелом, за исключением символа новой строки, который сбрасывает номер столбца обратно к 0.

Пример:

doAssert expandTabs("\t", 4) == "    "
doAssert expandTabs("\tfoo\t", 4) == "    foo "
doAssert expandTabs("a\tb\n\txy\t", 3) == "a  b\n   xy "
Источник Изменить
func partition(s: string; sep: string; right: bool = false): (string, string,
    string) {....raises: [], tags: [], forbids: [].}

Разделяет строку по первому (если right ложно) или последнему (если right истинно) вхождению sep в кортеж из трёх элементов.

Возвращает кортеж из трёх строк, (beforeSep, sep, afterSep) или (s, "", "") если sep не найдено и right ложно или ("", "", s) если sep не найдено и right истинно.

См. также:

  • процедура rpartition

Пример:

doAssert partition("foo:bar:baz", ":") == ("foo", ":", "bar:baz")
doAssert partition("foo:bar:baz", ":", right = true) == ("foo:bar", ":", "baz")
doAssert partition("foobar", ":") == ("foobar", "", "")
doAssert partition("foobar", ":", right = true) == ("", "", "foobar")
Источник Изменить
func rpartition(s: string; sep: string): (string, string, string) {....raises: [],
    tags: [], forbids: [].}

Разделяет строку по последнему вхождению sep в кортеж из трёх элементов.

Возвращает кортеж из трёх строк, (beforeSep, sep, afterSep) или ("", "", s) если sep не найдено. Это то же самое, что и partition(s, sep, right = true).

См. также:

  • процедура partition

Пример:

doAssert rpartition("foo:bar:baz", ":") == ("foo:bar", ":", "baz")
doAssert rpartition("foobar", ":") == ("", "", "foobar")
Источник Изменить

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/strmisc.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API