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