Строки
-
length(s) -
Количество символов в строке
s.
-
sizeof(s::AbstractString) -
Количество байтов в строке
s.
-
*(s, t) -
Конкатенация строк. Оператор
*— псевдоним для этой функции.julia> "Hello " * "world" "Hello world"
-
^(s, n) -
Повторение строки
snраз. Функцияrepeatявляется псевдонимом для этого оператора.julia> "Test "^3 "Test Test Test "
-
string(xs...) -
Создание строки из любых значений с помощью функции
print.
-
repr(x) -
Создание строки из любого значения с помощью функции
showall.
-
String(s::AbstractString) -
Преобразование строки в непрерывный массив байтов, представленный как байты UTF-8. Это представление часто подходит для передачи строк в C.
-
transcode(T, src) -
Преобразование данных строки между кодировками Юникода.
src— это либоString, либоVector{UIntXX}единиц кода UTF-XX, гдеXX— 8, 16 или 32.Tуказывает кодировку возвращаемого значения:Stringдля возвращения (кодированной в UTF-8)String, илиUIntXXдля возвращенияVector{UIntXX}данных UTF-XX. (ПсевдонимCwchar_tтакже может использоваться как целочисленный тип для преобразования строкwchar_t*, используемых внешними библиотеками C.)Функция
transcodeвыполняется успешно, пока входные данные могут быть адекватно представлены в целевой кодировке; она всегда выполняется успешно для преобразований между кодировками UTF-XX, даже для недопустимых данных Юникода.В настоящее время поддерживается только преобразование в/из UTF-8.
-
unsafe_string(p::Ptr{UInt8}[, length::Integer]) -
Копирование строки из адреса строки C-стиля (завершающейся символом NUL), закодированной как UTF-8. (Указатель можно безопасно освободить после этого.) Если указан
length(длина данных в байтах), строка не должна быть завершена символом NUL.Эта функция помечена как «небезопасная», так как она вызовет сбой, если
pне является действительным адресом памяти для данных требуемой длины.См. также
unsafe_wrap(), которая принимает указатель и оборачивает вокруг него объект строки без копирования.
-
unsafe_wrap(String, p::Ptr{UInt8}, [length, ]own=false) -
Оборачивание указателя
pна массив байтов в объектеString, интерпретируя байты как символы, закодированные в UTF-8, без копирования. Необязательный аргументlengthуказывает длину данных указателя в байтах; если он опущен, данные предполагаются завершенными символом NUL. Аргументownнеобязательно указывает, должна ли Julia взять на себя владение памятью, вызвавfreeдля указателя, когда массив больше не ссылается.Эта функция помечена как «небезопасная», так как она вызовет сбой, если
pне является действительным адресом памяти для данных требуемой длины.См. также
unsafe_string(), которая принимает указатель и создает копию данных.
-
ascii(s::AbstractString) -
Преобразование строки в тип
Stringи проверка, что она содержит только данные ASCII, в противном случае выбрасываниеArgumentError, указывающего позицию первого не-ASCII байта.
-
@r_str() → Regex -
Создание регулярного выражения, например
r"^[a-z]*$". Регулярное выражение также принимает один или несколько флагов, указанных после закрывающей кавычки, чтобы изменить его поведение:-
iвключает регистронезависимое сопоставление -
mобрабатывает токены^и$как соответствующие началу и концу отдельных строк, а не всей строки. -
sпозволяет использовать модификатор.для сопоставления с новой строкой. -
xвключает «режим комментариев»: пробелы разрешены, за исключением случаев, когда они экранированы с помощью\, а#обрабатывается как начало комментария.
Например, это регулярное выражение включает все три флага:
julia> match(r"a+.*b+.*?d$"ism, "Goodbye,\nOh, angry,\nBad world\n") RegexMatch("angry,\nBad world") -
-
@html_str() → Docs.HTML -
Создание объекта
HTMLиз буквальной строки.
-
@text_str() → Docs.Text -
Создание объекта
Textиз буквальной строки.
-
normalize_string(s, normalform::Symbol) -
Нормализация строки
sв соответствии с одной из четырех «нормальных форм» стандарта Юникода:normalformможет быть:NFC,:NFD,:NFKC, или:NFKD. Нормальные формы C (каноническое объединение) и D (каноническое разложение) преобразуют разные визуально идентичные представления одной и той же абстрактной строки в единую каноническую форму, причем форма C более компактна. Нормальные формы KC и KD дополнительно канонизируют «совместимые эквиваленты»: они преобразуют символы, которые абстрактно похожи, но визуально отличны, в единый канонический выбор (например, они расширяют лигатуры до отдельных символов), причем форма KC более компактна.В качестве альтернативы, более точный контроль и дополнительные преобразования могут быть получены путем вызова
normalize_string(s; keywords...), где указано любое количество следующих логических ключевых слов (по умолчанию всеfalse, за исключениемcompose):-
compose=false: не выполнять каноническое объединение -
decompose=true: выполнить каноническое разложение вместо канонического объединения (compose=trueигнорируется, если присутствует) -
compat=true: совместимые эквиваленты канонизируются -
casefold=true: выполнить складывание регистра Юникода, например, для регистронезависимого сравнения строк -
newline2lf=true,newline2ls=true, илиnewline2ps=true: преобразовать различные последовательности новой строки (LF, CRLF, CR, NEL) в символ новой строки (LF), символ разрыва строки (LS) или символ разрыва абзаца (PS), соответственно -
stripmark=true: удалить диакритические знаки (например, акценты) -
stripignore=true: удалить «символы, игнорируемые по умолчанию» Юникода (например, мягкий дефис или маркер слева направо) -
stripcc=true: удалить управляющие символы; горизонтальные табуляции и знаки форматирования преобразуются в пробелы; новые строки также преобразуются в пробелы, если не был указан флаг преобразования новой строки -
rejectna=true: выбросить ошибку, если будут найдены неназначенные кодовые точки -
stable=true: обеспечить стабильность версий Юникода
Например, NFKC соответствует параметрам
compose=true, compat=true, stable=true. -
-
graphemes(s) → iterator over substrings of s -
Возвращает итератор по подстрокам
s, соответствующим расширенным графемам в строке, как определено в Unicode UAX #29. (Грубо говоря, это то, что пользователи воспринимают как отдельные символы, хотя они могут содержать более одной кодовой точки; например, буква, объединенная с диакритическим знаком, является одной графемой.)
-
isvalid(value) → Bool -
Возвращает
true, если заданное значение допустимо для своего типа, который в настоящее время может быть либоChar, либоString.
-
isvalid(T, value) → Bool -
Возвращает
true, если заданное значение допустимо для данного типа. В настоящее время типы могут быть либоChar, либоString. Значения дляCharмогут быть типаCharилиUInt32. Значения дляStringмогут быть того же типа, илиVector{UInt8}.
-
isvalid(str, i) -
Указывает, является ли индекс
iдопустимым для данной строки.
-
is_assigned_char(c) → Bool -
Возвращает
true, если заданный символ или целое число является назначенной кодовой точкой Юникода.
-
ismatch(r::Regex, s::AbstractString) → Bool -
Проверка, содержит ли строка совпадение с данным регулярным выражением.
-
match(r::Regex, s::AbstractString[, idx::Integer[, addopts]]) -
Поиск первого совпадения регулярного выражения
rвsи возвращение объектаRegexMatch, содержащего совпадение, или ничего, если совпадение не найдено. Совпадающую подстроку можно получить, обратившись кm.match, а захваченные последовательности можно получить, обратившись кm.captures. Необязательный аргументidxзадает индекс, с которого следует начать поиск.
-
eachmatch(r::Regex, s::AbstractString[, overlap::Bool=false]) -
Поиск всех совпадений регулярного выражения
rвsи возвращение итератора по совпадениям. Если перекрытиеtrue, совпадающие последовательности могут перекрываться индексами в исходной строке, в противном случае они должны быть из разных диапазонов символов.
-
matchall(r::Regex, s::AbstractString[, overlap::Bool=false]) → Vector{AbstractString} -
Возвращает вектор совпадающих подстрок из eachmatch.
-
lpad(string, n, p) -
Делает строку как минимум
nстолбцами шириной при выводе, добавляя заполнение слева копиямиp.
-
rpad(string, n, p) -
Делает строку как минимум
nстолбцами шириной при выводе, добавляя заполнение справа копиямиp.
-
search(string, chars[, start]) -
Поиск первого вхождения заданных символов в заданную строку. Второй аргумент может быть одиночным символом, вектором или набором символов, строкой или регулярным выражением (хотя регулярные выражения разрешены только для непрерывных строк, таких как ASCII или UTF-8 строки). Третий аргумент необязательно указывает начальный индекс. Возвращаемое значение — диапазон индексов, где найдена соответствующая последовательность, так что
s[search(s,x)] == x:search(string, "substring")=start:endтак чтоstring[start:end] == "substring", или0:-1если не найдено совпадение.search(string, 'c')=indexтак чтоstring[index] == 'c', или0если не найдено совпадение.
-
rsearch(string, chars[, start]) -
Аналогично
search, но возвращает последнее вхождение заданных символов в заданную строку, выполняя поиск в обратном порядке сstart.
-
searchindex(string, substring[, start]) -
Аналогично
search, но возвращает только начальный индекс, в котором найдена подстрока, или0если её нет.
-
rsearchindex(string, substring[, start]) -
Аналогично
rsearch, но возвращает только начальный индекс, в котором найдена подстрока, или0если её нет.
-
contains(haystack, needle) -
Определяет, является ли второй аргумент подстрокой первого.
-
reverse(s::AbstractString) → AbstractString -
Инвертирует строку.
-
replace(string, pat, r[, n]) -
Ищет заданный шаблон
pat, и заменяет каждое вхождение наr. Еслиnзадано, заменяет не болееnвхождений. Как и в случае с поиском, второй аргумент может быть одиночным символом, вектором или набором символов, строкой или регулярным выражением. Еслиrявляется функцией, каждое вхождение заменяется наr(s), гдеs— совпадающая подстрока. Еслиpatявляется регулярным выражением, иrявляетсяSubstitutionString, тогда ссылки на группы захвата вrзаменяются соответствующим совпадающим текстом.
-
split(string, [chars]; limit=0, keep=true) -
Возвращает массив подстрок, разделяя заданную строку на вхождения заданных разделителей, которые могут быть указаны в любом из форматов, разрешенных для второго аргумента
search(т.е. одиночный символ, набор символов, строка или регулярное выражение). Еслиcharsопущено, оно по умолчанию устанавливается на множество всех пробельных символов, иkeepпринимается какfalse. Два ключевых аргумента являются необязательными: они представляют собой максимальный размер результата и флаг, определяющий, следует ли сохранять пустые поля в результате.
-
rsplit(string, [chars]; limit=0, keep=true) -
Аналогично
split, но начиная с конца строки.
-
strip(string[, chars]) -
Возвращает
stringс удалением всех начальных и конечных пробелов. Еслиchars(символ, или вектор или набор символов) задан, вместо этого удаляются символы, содержащиеся в нём.
-
lstrip(string[, chars]) -
Возвращает
stringс удалением всех начальных пробелов. Еслиchars(символ, или вектор или набор символов) задан, вместо этого удаляются символы, содержащиеся в нём.
-
rstrip(string[, chars]) -
Возвращает
stringс удалением всех конечных пробелов. Еслиchars(символ, или вектор или набор символов) задан, вместо этого удаляются символы, содержащиеся в нём.
-
startswith(string, prefix) -
Возвращает
trueеслиstringначинается сprefix. Еслиprefixявляется вектором или набором символов, проверяется, принадлежит ли первый символstringэтому набору.
-
endswith(string, suffix) -
Возвращает
trueеслиstringзаканчивается наsuffix. Еслиsuffixявляется вектором или набором символов, проверяется, принадлежит ли последний символstringэтому набору.
-
uppercase(string) -
Возвращает
stringсо всеми символами, преобразованными в верхний регистр.
-
lowercase(string) -
Возвращает
stringсо всеми символами, преобразованными в нижний регистр.
-
ucfirst(string) -
Возвращает
stringс первым символом, преобразованным в верхний регистр.
-
lcfirst(string) -
Возвращает
stringс первым символом, преобразованным в нижний регистр.
-
join(strings, delim[, last]) -
Объединяет массив
stringsв одну строку, вставляя заданный разделитель между смежными строками. Еслиlastзадан, он будет использован вместоdelimмежду двумя последними строками. Напримерjoin(["apples", "bananas", "pineapples"], ", ", " and ") == "apples, bananas and pineapples"
stringsможет быть любым итерируемым объектом над элементамиx, которые преобразуются в строки с помощьюprint(io::IOBuffer, x).
-
chop(string) -
Удаляет последний символ из строки.
-
chomp(string) -
Удаляет единственную конечную новую строку из строки.
-
ind2chr(string, i) -
Преобразует индекс байта в индекс символа.
-
chr2ind(string, i) -
Преобразует индекс символа в индекс байта.
-
nextind(str, i) -
Получает следующий допустимый индекс строки после
i. Возвращает значение, большееendof(str)в конце или после конца строки.
-
prevind(str, i) -
Получает предыдущий допустимый индекс строки перед
i. Возвращает значение, меньшее1в начале строки.
-
randstring([rng, ]len=8) -
Создаёт случайную строку ASCII длиной
len, состоящую из прописных и строчных букв, а также цифр от 0 до 9. Необязательный аргументrngзадаёт генератор случайных чисел, см. Случайные числа.
-
charwidth(c) -
Возвращает количество столбцов, необходимых для вывода символа.
-
strwidth(s) -
Возвращает количество столбцов, необходимых для вывода строки.
-
isalnum(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ буквенно-цифровым, или это верно для всех элементов строки. Символ считается буквенно-цифровым, если он принадлежит к универсальной категории Unicode Буква или Цифра, т.е. символ, код категории которого начинается с ‘L’ или ‘N’.
-
isalpha(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ буквенным, или это верно для всех элементов строки. Символ считается буквенным, если он принадлежит к универсальной категории Unicode Буква, т.е. символ, код категории которого начинается с ‘L’.
-
isascii(c::Union{Char, AbstractString}) → Bool -
Проверяет, принадлежит ли символ набору символов ASCII, или это верно для всех элементов строки.
-
iscntrl(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ управляющим символом, или это верно для всех элементов строки. Управляющие символы — это непечатаемые символы подмножества Latin-1 Unicode.
-
isdigit(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ числовой цифрой (0-9), или это верно для всех элементов строки.
-
isgraph(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ печатаемым и не пробелом, или это верно для всех элементов строки. Любой символ, который заставил бы принтер использовать чернила, должен быть классифицирован с помощью
isgraph(c)==true.
-
islower(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ строчной буквой, или это верно для всех элементов строки. Символ считается строчной буквой, если он принадлежит к категории Unicode Ll, Буква: Строчная.
-
isnumber(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ числовым, или это верно для всех элементов строки. Символ считается числовым, если он принадлежит к универсальной категории Unicode Число, т.е. символ, код категории которого начинается с ‘N’.
-
isprint(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ печатаемым, включая пробелы, но не управляющий символ. Для строк проверяет, верно ли это для всех элементов строки.
-
ispunct(c::Union{Char, AbstractString}) → Bool -
Проверяет, принадлежит ли символ универсальной категории Unicode Пунктуация, т.е. символ, код категории которого начинается с ‘P’. Для строк проверяет, верно ли это для всех элементов строки.
-
isspace(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ любым пробельным символом. Включает ASCII-символы ‘\t’, ‘\n’, ‘\v’, ‘\f’, ‘\r’, и ‘ ‘, Latin-1 символ U+0085, и символы в категории Unicode Zs. Для строк проверяет, верно ли это для всех элементов строки.
-
isupper(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ заглавной буквой или все символы в строке являются заглавными. Символ считается заглавным, если он принадлежит категории Unicode Lu, Буква: Заглавная, или Lt, Буква: Прописная.
-
isxdigit(c::Union{Char, AbstractString}) → Bool -
Проверяет, является ли символ допустимым шестнадцатеричным символом или все символы в строке являются таковыми.
-
Symbol(x...) → Symbol -
Создаёт
Symbol, объединяя строковые представления аргументов.
-
escape_string(str::AbstractString) → AbstractString -
Общая эскапизация традиционных C и Unicode escape-последовательностей.
-
unescape_string(s::AbstractString) → AbstractString -
Общая унэскапизация традиционных C и Unicode escape-последовательностей. Обратная функция
escape_string(). Также см.unescape_string().
© 2009–2016 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/release-0.5/stdlib/strings/