Spec-Zone.ru › Nim 1

strmisc

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

Импорты

strutils

Процедуры

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

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

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

Пример:

doAssert expandTabs("\t", 4) == "    "
doAssert expandTabs("\tfoo\t", 4) == "    foo "
doAssert expandTabs("\tfoo\tbar", 4) == "    foo bar"
doAssert expandTabs("\tfoo\tbar\t", 4) == "    foo bar "
doAssert expandTabs("ab\tcd\n\txy\t", 3) == "ab cd\n   xy "
Исходный код Редактировать
proc partition(s: string; sep: string; right: bool = false): (string, string,
    string) {...}{.noSideEffect, raises: [], tags: [].}

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

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

Пример:

doAssert partition("foo:bar", ":") == ("foo", ":", "bar")
doAssert partition("foobarbar", "bar") == ("foo", "bar", "bar")
doAssert partition("foobarbar", "bank") == ("foobarbar", "", "")
doAssert partition("foobarbar", "foo") == ("", "foo", "barbar")
doAssert partition("foofoobar", "bar") == ("foofoo", "bar", "")
Исходный код Редактировать
proc rpartition(s: string; sep: string): (string, string, string) {...}{.
    noSideEffect, raises: [], tags: [].}

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

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

Пример:

doAssert rpartition("foo:bar", ":") == ("foo", ":", "bar")
doAssert rpartition("foobarbar", "bar") == ("foobar", "bar", "")
doAssert rpartition("foobarbar", "bank") == ("", "", "foobarbar")
doAssert rpartition("foobarbar", "foo") == ("", "foo", "barbar")
doAssert rpartition("foofoobar", "bar") == ("foofoo", "bar", "")
Исходный код Редактировать

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

Spec-Zone.ru

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