Jump to content

Сравнение языков программирования (строковые функции)

(Перенаправлено из строковых функций )

Строковые функции используются в языках программирования для манипулирования строкой или запроса информации о ней (некоторые делают и то, и другое).

Большинство языков программирования, имеющих строковый тип данных, имеют некоторые строковые функции, хотя в каждом языке могут быть и другие низкоуровневые способы прямой обработки строк. В объектно-ориентированных языках строковые функции часто реализуются как свойства и методы строковых объектов. В функциональных языках и языках, основанных на списках, строка представлена ​​в виде списка (кодов символов), поэтому все процедуры работы со списками можно рассматривать как строковые функции. Однако такие языки также могут реализовывать подмножество явных функций, специфичных для строк.

Для функций, которые манипулируют строками, современные объектно-ориентированные языки, такие как C# и Java , имеют неизменяемые строки и возвращают копию (во вновь выделенной динамической памяти), в то время как другие, такие как C, манипулируют исходной строкой, если только программист не копирует данные в новую строку. См., например, Конкатенацию ниже.

Самый простой пример строковой функции — это length(string) функция. Эта функция возвращает длину строкового литерала .

например length("hello world") вернул бы 11.

В других языках могут быть строковые функции с похожим или точно таким же синтаксисом, параметрами или результатами. Например, во многих языках функция длины обычно представляется как len(string) . Приведенный ниже список общих функций призван помочь избежать этой путаницы.

Общие строковые функции (многоязычный справочник)

[ редактировать ]

Ниже перечислены строковые функции, общие для многих языков, включая различные используемые имена. Приведенный ниже список общих функций призван помочь программистам найти эквивалентную функцию на языке. строк Обратите внимание: конкатенация и регулярные выражения обрабатываются на отдельных страницах. Утверждения, написанные каймами («…»), необязательны.

Определение charAt(string,integer) возвращает символ.
Описание Возвращает символ по индексу в строке.
Эквивалент См. подстроку длиной 1 символ.
Формат Языки Базовый индекс
string[i]Алгол 68 , APL , Джулия , Паскаль , Object Pascal ( Delphi ), Seed7 1
string[i]C , C++ , C# , Cobra , D , FreeBASIC , Go , Python , [1] PHP , Руби , [1] Windows PowerShell , JavaScript , APL 0
string{i}PHP (устарело в версии 5.3) 0
string(i)Есть ≥1
Mid(string,i,1)ВБ 1
MID$(string,i,1)БАЗОВЫЙ 1
string.Chars(i)VB.NET 0
string(i:i)Фортран 1
string.charAt(i)Ява , JavaScript 0
string.[i]OCaml , F# 0
string.chars().nth(i)Ржавчина [2] 0
string[i,1]Выберите базовый 1
String.sub (string, i)Стандартный ML 0
string !! iХаскелл 0
(string-ref string i)Схема 0
(char string i)Общий Лисп 0
(elt string i)ИСЛИСП 0
(get string i)Кложур 0
substr(string, i, 1)Перл 5 [1] 0
substr(string, i, 1)
string.substr(i, 1)
Раку [3] 0
substr(string, i, 1)ПЛ/Я 1
string.at(i)C++ (STL) (с проверкой границ) 0
lists:nth(i, string)Эрланг 1
[string characterAtIndex:i]Цель-C ( NSString * только) 0
string.sub(string, i, i)
(string):sub(i, i)
Два [1] 1
string at: iSmalltalk (с проверкой границ) 1
string index string iТкл 0
StringTake[string, {i}]Математика , Язык Wolfram [1] 1
string@iЭйфелева 1
string (i:1)КОБОЛ 1
${string_param:i:1}Баш 0
istringАПЛ 0 или 1
{ Example in Pascal }var  MyStr: string = 'Hello, World';  MyChar: Char;begin  MyChar := MyStr[2];          // 'e'
# Example in ALGOL 68 #"Hello, World"[2];             // 'e'
// Example in C#include <stdio.h>             // for printfchar MyStr[] = "Hello, World";printf("%c", *(MyStr+1));      // 'e'printf("%c", *(MyStr+7));      // 'W'printf("%c", MyStr[11]);       // 'd'printf("%s", MyStr);           // 'Hello, World'printf("%s", "Hello(2), World(2)"); // 'Hello(2), World(2)'
// Example in C++#include <iostream>            // for "cout"#include <string.h>            // for "string" data typeusing namespace std;char MyStr1[] = "Hello(1), World(1)";string MyStr2 = "Hello(2), World(2)";cout << "Hello(3), World(3)";  // 'Hello(3), World(3)'cout << MyStr2[6];             // '2'cout << MyStr1.substr (5, 3);  // '(1)'
// Example in C#"Hello, World"[2];             // 'l'
# Example in Perl 5substr("Hello, World", 1, 1);  # 'e'
# Examples in Python"Hello, World"[2]              #  'l'"Hello, World"[-3]             #  'r'
# Example in Raku"Hello, World".substr(1, 1);   # 'e'
' Example in Visual BasicMid("Hello, World",2,1)
' Example in Visual Basic .NET"Hello, World".Chars(2)    '  "l"c
" Example in Smalltalk "'Hello, World' at: 2.        "$e"
//Example in Rust"Hello, World".chars().nth(2);   // Some('l')

Сравнить (целочисленный результат)

[ редактировать ]
Определение compare(string1,string2) возвращает целое число.
Описание Сравнивает две строки друг с другом. Если они эквивалентны, возвращается ноль. В противном случае большинство этих подпрограмм вернут положительный или отрицательный результат, соответствующий тому, ли строка 1 является лексикографически соответственно больше или меньше строки 2 . Исключением являются процедуры Scheme и Rexx, которые возвращают индекс первого несоответствия, и Smalltalk, которые отвечают на код сравнения, сообщающий, как получатель сортирует относительно строкового параметра.
Формат Языки
IF string1<string2 THEN -1 ELSE ABS (string1>string2) FIАЛГОЛ 68
cmp(string1, string2)Питон 2
(string1 > string2) - (string1 < string2)Питон
strcmp(string1, string2)С , PHP
std.string.cmp(string1, string2)Д
StrComp(string1, string2)VB , Объектный Паскаль ( Делфи )
string1 cmp string2Жемчуг , Рак
string1 compare: string2Smalltalk ( Писк , Фаро )
string1 <=> string2Руби , C++ (STL, C++20 ) [4]
string1.compare(string2)C++ (STL), Swift (основной)
compare(string1, string2)Рекс , Сид7
CompareStr(string1, string2)Паскаль , Объектный Паскаль ( Делфи )
string1.compareTo(string2)Кобра , Ява
string1.CompareTo(string2)ВБ.NET , C# , F#
(compare string1 string2)Кложур
(string= string1 string2)Общий Лисп
(string-compare string1 string2 p< p= p>)Схема (СРФИ 13)
(string= string1 string2)ИСЛИСП
compare string1 string2OCaml
String.compare (string1, string2)Стандартный ML [5]
compare string1 string2Хаскелл [6]
[string]::Compare(string1, string2)Windows PowerShell
[string1 compare:string2]Цель-C ( NSString * только)
LLT(string1,string2)
LLE(string1,string2)
LGT(string1,string2)
LGE(string1,string2)
Фортран [7]
string1.localeCompare(string2)JavaScript
bytes.Compare([]byte(string1), []byte(string2))Идти
string compare string1 string2Ткл
compare(string1,string2,count)ПЛ/Я [8]
string1.cmp(string2)Ржавчина [9]
# Example in Perl 5"hello" cmp "world";       # returns -1
# Example in Pythoncmp("hello", "world")      # returns -1
# Examples in Raku"hello" cmp "world";       # returns Less"world" cmp "hello";       # returns More"hello" cmp "hello";       # returns Same
/** Example in Rexx */compare("hello", "world")  /* returns index of mismatch: 1 */
; Example in Scheme(use-modules (srfi srfi-13)); returns index of mismatch: 0(string-compare "hello" "world" values values values)

Сравнение (реляционный оператор, логический результат)

[ редактировать ]
Определение string1 OP string2 ИЛИ (compare string1 string2) возвращает логическое значение.
Описание Лексикографически сравнивает две строки, используя реляционный оператор или функцию. Возвращен логический результат.
Формат Языки
string1 OP string2, где OP может быть любым из =, <>, <, >, <= и >=Паскаль , Object Pascal ( Delphi ), OCaml , Seed7 , Standard ML , BASIC , VB , VB .NET , F#
string1 OP string2, где OP может быть любым из =, /=, ≠, <, >, <=, ≤ и ; Также: EQ, NE, LT, LE, GE и GTАЛГОЛ 68
(stringOP? string1 string2), где OP может быть любым из =, -ci=, <, -ci<, >, -ci>, <=, -ci<=, >= и -ci>= (операторы, начинающиеся с ' -ci' не чувствительны к регистру) Схема
(stringOP string1 string2), где OP может быть любым из =, -ci=, <>, -ci<>, <, -ci<, >, -ci>, <=, -ci<=, >= и -ci>= (операторы, начинающиеся с ' -ci' не чувствительны к регистру) Схема (СРФИ 13)
(stringOP string1 string2), где OP может быть любым из =, -equal, /=, -not-equal, <, -lessp, >, -greaterp, <=, -not-greaterp, >= и -not-lessp (вербальные операторы нечувствительны к регистру) Общий Лисп
(stringOP string1 string2), где OP может быть любым из =, /=, <, >, <=, и >=ИСЛИСП
string1 OP string2, где OP может быть любым из =, \=, <, >, <= и >=Рекс
string1 OP string2, где OP может быть любым из =, ¬=, <, >, <=, >=, ¬< и ¬>ПЛ/Я
string1 OP string2, где OP может быть любым из =, /=, <, >, <= и >=Есть
string1 OP string2, где OP может быть любым из ==, /=, <, >, =< и >=Эрланг
string1 OP string2, где OP может быть любым из ==, /=, <, >, <= и >=Хаскелл
string1 OP string2, где OP может быть любым из eq, ne, lt, gt, le и geПерл , Раку
string1 OP string2, где OP может быть любым из ==, !=, <, >, <= и >=C++ (STL), C# , D , Go , JavaScript , Python , PHP , Ruby , Rust , [10] Быстрый
string1 OP string2, где OP может быть любым из -eq, -ceq, -ne, -cne, -lt, -clt, -gt, -cgt, -le, -cle, -ge, и -cge (операторы, начинающиеся с ' c' чувствительны к регистру) Windows PowerShell
string1 OP string2, где OP может быть любым из ==, ~=, <, >, <= и >=Два
string1 OP string2, где OP может быть любым из =, ~=, <, >, <= и >=Смолток
string1 OP string2, где OP может быть любым из ==, /=, <, >, <= и >=; Also: .EQ., .NE., .LT., .LE., .GT. и .GE.Фортран . [11]
string1 OP string2 где OP может быть любым из =, <>, <, >, <=, >= а также словесные эквиваленты КОБОЛ
string1 OP string2 где OP может быть любым из ==, <>, <, >, <= и >=Кобра
string1 OP string2 доступен в синтаксисе, но означает сравнение указателей, указывающих на строки, а не ее содержимого. Используйте функцию сравнения (целочисленный результат). С , Ява
string1.METHOD(string2) где METHOD есть ли кто-нибудь из eq, ne, gt, lt, ge, leРжавчина [10]
% Example in Erlang"hello" > "world".            % returns false
# Example in Raku"art" gt "painting";           # returns False"art" lt "painting";           # returns True
# Example in Windows PowerShell"hello" -gt "world"           # returns false
;; Example in Common Lisp(string> "art" "painting")      ; returns nil(string< "art" "painting")      ; returns non nil

Конкатенация

[ редактировать ]
Определение concatenate(string1,string2) возвращает строку.
Описание Объединяет (объединяет) две строки друг с другом, возвращая объединенную строку. Обратите внимание, что в некоторых языках, таких как C, есть изменяемые строки, поэтому на самом деле вторая строка добавляется к первой строке, и возвращается измененная строка.
Формат Языки
string1 & string2Ada , FreeBASIC , Seed7 , BASIC , VB , VB.NET , COBOL (только между литералами)
strcat(string1, string2)С , С++ ( char * только) [12]
string1 . string2Перл , PHP
string1 + string2АЛГОЛ 68 , C++ (STL), C# , Cobra , FreeBASIC , Go , Pascal , Object Pascal ( Delphi ), Java , JavaScript , Windows PowerShell , Python , Ruby , Rust , [13] F# , Свифт , Тьюринг , ВБ
string1 ~ string2D , Raku
(string-append string1 string2)Схема , ИСЛИСП
(concatenate 'string string1 string2)Общий Лисп
(str string1 string2)Кложур
string1 || string2Рекс , SQL , PL/I
string1 // string2Фортран
string1 ++ string2Эрланг , Хаскелл
string1 ^ string2OCaml , стандартное машинное обучение , F#
[string1 stringByAppendingString:string2]Цель-C ( NSString * только)
string1 .. string2Два
string1 , string2Смоллток , APL
string1 string2СНОБОЛ
string1string2Баш
string1 <> string2Математика
конкат строка 1 строка 2 Ткл
{ Example in Pascal }'abc' + 'def';      // returns "abcdef"
// Example in C#"abc" + "def";      // returns "abcdef"
' Example in Visual Basic"abc" & "def"       '  returns "abcdef""abc" + "def"       '  returns "abcdef""abc" & Null        '  returns "abc""abc" + Null        '  returns Null
// Example in D"abc" ~ "def";      // returns "abcdef"
;; Example in common lisp(concatenate 'string "abc " "def " "ghi")  ; returns "abc def ghi"
# Example in Perl 5"abc" . "def";      # returns "abcdef""Perl " . 5;        # returns "Perl 5"
# Example in Raku"abc" ~ "def";      # returns "abcdef""Perl " ~ 6;        # returns "Perl 6"

Содержит

[ редактировать ]
Определение contains(string,substring) возвращает логическое значение
Описание Возвращает, ли строка содержит подстроку в качестве подстроки. Это эквивалентно использованию функции «Найти» , а затем обнаружению того, что это не приводит к состоянию сбоя, указанному в третьем столбце раздела «Найти». Однако в некоторых языках существует более простой способ выражения этого теста.
Связанный Находить
Формат Языки
string_in_string(string, loc int, substring)АЛГОЛ 68
ContainsStr(string, substring)Объектный Паскаль ( Делфи )
strstr(string, substring) != NULLС , С++ ( char * только)
string.Contains(substring)C# , VB.NET , Windows PowerShell , F#
string.contains(substring)Кобра , Ява (1.5+), Раку , Ржавчина , [14] С++ ( С++23 ) [15]
string.indexOf(substring) >= 0JavaScript
strpos(string, substring) !== falsePHP
str_contains(string, substring)PHP (8+)
pos(string, substring) <> 0Сид7
substring in stringКобра , Питон (2.3+)
string.find(string, substring) ~= nilДва
string.include?(substring)Руби
Data.List.isInfixOf substring stringХаскелл (GHC 6.6+)
string includesSubstring: substringSmalltalk ( Писк , Фаро , Smalltalk/X )
String.isSubstring substring stringСтандартный ML
(search substring string)Общий Лисп
(not (null (string-index substring string)))ИСЛИСП
(substring? substring string)Кложур
! StringFreeQ[string, substring]Математика
index(string, substring, startpos)>0Фортран, PL/I [16]
index(string, substring, occurrence)>0Выберите базовый
strings.Contains(string, substring)Идти
string.find(substring) != string::nposС++
[string containsString:substring]Цель-C ( NSString * только iOS 8+/OS X 10.10+)
string.rangeOfString(substring) != nilСвифт (Фонд)
∨/substringstringАПЛ
¢ Example in ALGOL 68 ¢string in string("e", loc int, "Hello mate");      ¢ returns true ¢string in string("z", loc int, "word");            ¢ returns false ¢
// Example In C#"Hello mate".Contains("e");      // returns true"word".Contains("z");            // returns false
#  Example in Python"e" in "Hello mate"              #  returns true"z" in "word"                    #  returns false
#  Example in Raku"Good morning!".contains('z')    #  returns False"¡Buenos días!".contains('í');   #  returns True
"  Example in Smalltalk "'Hello mate' includesSubstring: 'e'  " returns true "'word' includesSubstring: 'z'        " returns false "

Равенство

[ редактировать ]

Проверяет, равны ли две строки. См. также #Compare и #Compare . Обратите внимание, что выполнение проверок на равенство с помощью общего результата сравнения с целым числом не только сбивает с толку программиста, но зачастую является значительно более дорогостоящей операцией; это особенно актуально при использовании « до-струн ».

Формат Языки
string1 == string2Python , C++ (STL), C# , Cobra , Go , JavaScript (сходство), PHP (сходство), Ruby , Rust , [10] Эрланг , Хаскелл , Lua , D , Mathematica , Swift
string1 === string2JavaScript , PHP
string1 == string2
string1 .EQ. string2
Фортран
strcmp(string1, string2) == 0С
(string=? string1 string2)Схема
(string= string1 string2)Общий Лисп , ISLISP
string1 = string2ALGOL 68 , Ada , Object Pascal ( Delphi ), OCaml , Pascal , Rexx , Seed7 , Standard ML , BASIC , VB , VB .NET , F# , Smalltalk , PL/I , COBOL
test string1 = string2
[ string1 = string2 ]
Борн Шелл
string1 eq string2Жемчуг , Рак
string1.equals(string2)Кобра , Ява
string1.Equals(string2)С#
string1 -eq string2
[string]::Equals(string1, string2)
Windows PowerShell
[string1 isEqualToString:string2]
[string1 isEqual:string2]
Цель-C ( NSString * только)
string1string2АПЛ
string1.eq(string2)Ржавчина [10]
// Example in C#"hello" == "world"           // returns false
' Example in Visual Basic"hello" = "world"            '  returns false
# Examples in Perl 5'hello' eq 'world'           # returns 0'hello' eq 'hello'           # returns 1
# Examples in Raku'hello' eq 'world'           # returns False'hello' eq 'hello'           # returns True
# Example in Windows PowerShell"hello" -eq "world"          #  returns false
⍝ Example in APL'hello'  'world'          ⍝  returns 0


Находить

[ редактировать ]
Определение find(string,substring) возвращает целое число
Описание Возвращает позицию начала первого вхождения подстроки в строке . Если подстрока не найдена, большинство этих подпрограмм возвращают недопустимое значение индекса – -1, когда индексы отсчитываются от 0, 0, когда они отсчитываются от 1, – или какое-то значение, которое интерпретируется как логическое значение FALSE.
Связанный инстррев
Формат Языки Если не найден
string in string(substring, pos, string[startpos:])АЛГОЛ 68 возвращает BOOL: TRUE или FALSE и позицию в позиции REF INT.
InStr(«startposstring,substring)ВБ (позиции начинаются с 1) возвращает 0
INSTR$(string,substring)БАЗОВЫЙ (позиции начинаются с 1) возвращает 0
index(string,substring)АВК возвращает 0
index(string,substring«,startpos»)Перл 5 возвращает −1
index(string,substring«,startpos»)
string.index(substring,«,startpos»)
Раку возвращает ноль
instr(«startposstring,substring)FreeBASIC возвращает 0
strpos(string,substring«,startpos»)PHP возвращает ЛОЖЬ
locate(string, substring)Энгр возвращает длину строки + 1
strstr(string, substring)С , С++ ( char * только возвращает указатель на первый символ) возвращает НУЛЬ
std.string.indexOf(string, substring)Д возвращает −1
pos(string, substring«, startpos»)Сид7 возвращает 0
strings.Index(string, substring)Идти возвращает −1
pos(substring, string)Паскаль , Объектный Паскаль ( Делфи ) возвращает 0
pos(substring, string«,startpos»)Рекс возвращает 0
string.find(substring«,startpos»)С++ (СТЛ) возвращает std::string::npos
string.find(substring«,startpos«,endpos»»)Питон возвращает −1
string.index(substring«,startpos«,endpos»»)вызывает ValueError
string.index(substring«,startpos»)Руби возвращает ноль
string.indexOf(substring«,startpos»)Ява , JavaScript возвращает −1
string.IndexOf(substring«,startpos«, charcount»»)VB.NET , C# , Windows PowerShell , F# возвращает −1
string:str(string, substring)Эрланг возвращает 0
(string-contains string substring)Схема (СРФИ 13) возвращает #f
(search substring string)Общий Лисп возвращает НОЛЬ
(string-index substring string)ИСЛИСП возвращает nil
List.findIndex (List.isPrefixOf substring) (List.tails string)Haskell (возвращает только индекс ) ничего не возвращает
Str.search_forward (Str.regexp_string substring) string 0OCaml поднимает Not_found
Substring.size (#1 (Substring.position substring (Substring.full string)))Стандартный ML возвращает длину строки
[string rangeOfString:substring].locationЦель-C ( NSString * только) возвращает НСНотфаунд
string.find(string, substring)
(string):find(substring)
Два возвращает ноль
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlock
string findString: substring startingAt: startpos
Smalltalk ( Писк , Фаро ) оценить aBlock, который является замыканием блока (или любым значением понимания объекта)
возвращает 0
startpos = INDEX(string, substring «,back» «, kind»)Фортран возвращает 0, если подстроки нет в строке; возвращает LEN(строка)+1, если подстрока пуста
POSITION(substring IN string)SQL возвращает 0 (позиции начинаются с 1)
index(string, substring, startpos )ПЛ/Я [16] возвращает 0 (позиции начинаются с 1)
index(string, substring, occurrence )Выберите базовый возвращает 0, если вхождение подстроки отсутствует в строке; (позиции начинаются с 1)
string.indexOf(substring«,startpos«, charcount»»)Кобра возвращает −1
string first substring string startposТкл возвращает −1
(substringstring)⍳1АПЛ возвращает 1 + последнюю позицию в строке
string.find(substring)Ржавчина [17] возвращает None

Примеры

  • Общий Лисп
    (search "e" "Hello mate")             ;  returns 1(search "z" "word")                   ;  returns NIL
  • С#
    "Hello mate".IndexOf("e");            // returns 1"Hello mate".IndexOf("e", 4);         // returns 9"word".IndexOf("z");                  // returns -1
  • Раку
    "Hello, there!".index('e')           # returns 1"Hello, there!".index('z')           # returns Nil
  • Схема
    (use-modules (srfi srfi-13))(string-contains "Hello mate" "e")    ;  returns 1(string-contains "word" "z")          ;  returns #f
  • Визуальный Бейсик
    ' Examples inInStr("Hello mate", "e")              '  returns 2InStr(5, "Hello mate", "e")           '  returns 10InStr("word", "z")                    '  returns 0
  • Смолток
    'Hello mate' indexOfSubCollection:'ate'  "returns 8"
    'Hello mate' indexOfSubCollection:'late' "returns 0"
    I'Hello mate'    indexOfSubCollection:'late'    ifAbsent:[ 99 ]                      "returns 99"
    'Hello mate'    indexOfSubCollection:'late'    ifAbsent:[ self error ]              "raises an exception"


Найти персонажа

[ редактировать ]
Определение find_character(string,char) возвращает целое число
Описание Возвращает позицию начала первого вхождения символа char в строке . Если символ не найден, большинство этих подпрограмм возвращают недопустимое значение индекса – -1, когда индексы отсчитываются от 0, 0, когда они отсчитываются от 1, – или какое-то значение, которое интерпретируется как логическое значение FALSE. Это можно сделать как особый случай #Find со строкой из одного символа; но во многих языках может оказаться проще и эффективнее найти только один символ. Кроме того, во многих языках символы и строки имеют разные типы, поэтому удобно иметь такую ​​функцию.
Связанный находить
Формат Языки Если не найден
char in string(char, pos, string[startpos:])АЛГОЛ 68 возвращает БУЛ : ИСТИНА или FALSE и позиция в REF INT поз .
instr(string, any char«,startpos») (char, может содержать более одного символа, в этом случае возвращается позиция первого появления любого из них.) FreeBASIC возвращает 0
strchr(string,char)С , С++ ( char * только возвращает указатель на символ) возвращает НУЛЕВОЙ
std.string.find(string, dchar)Д возвращает −1
string.find(char«,startpos»)С++ (СТЛ) возвращает станд::строка::npos
pos(string, char«, startpos»)Сид7 возвращает 0
strings.IndexRune(string,char)Идти возвращает −1
string.indexOf(char«,startpos»)Ява , JavaScript возвращает −1
string.IndexOf(char«,startpos«, charcount»»)VB.NET , C# , Windows PowerShell , F# возвращает −1
(position char string)Общий Лисп возвращает НОЛЬ
(char-index char string)ИСЛИСП возвращает ноль
List.elemIndex char stringХаскелл (возвращает Just index) возвращает Ничего
String.index string charOCaml поднимает Не найдено
position = SCAN (string, set «, back» «, kind»)
position = VERIFY (string, set «, back» «, kind»)[a]
Фортран возвращает ноль
string indexOf: char ifAbsent: aBlock
string indexOf: char
string includes: char
Смолток оценивать aBlock который представляет собой BlockClosure (или любое значение понимания объекта)
возвращает 0
возвращает true или false
index(string, char, startpos )ПЛ/Я [18] возвращает 0 (позиции начинаются с 1)
string.index(?char)Руби возвращает ноль
strpos(string,char,startpos)PHP возвращает ЛОЖЬ
string.indexOf(char«,startpos«, charcount»»)Кобра возвращает −1
stringcharАПЛ возвращает 1 + последнюю позицию в строке
string.find(substring)Ржавчина [17] возвращает Никто
// Examples in C#"Hello mate".IndexOf('e');              // returns 1"word".IndexOf('z')                     // returns -1
; Examples in Common Lisp(position #\e "Hello mate")             ;  returns 1(position #\z "word")                   ;  returns NIL

^a Учитывая набор символов, SCAN возвращает позицию первого найденного символа, [19] а VERIFY возвращает позицию первого символа, который не принадлежит набору. [20]

Определение format(formatstring, items) возвращает строку
Описание Возвращает форматированное строковое представление одного или нескольких элементов.
Формат Языки Синтаксис строки формата
associate(file, string); putf(file, $formatstring$, items)АЛГОЛ 68 АЛГОЛ
Format(item, formatstring)ВБ
sprintf(formatstring, items)Perl , PHP , Raku , Ruby С
item.fmt(formatstring)Раку С
io_lib:format(formatstring, items)Эрланг
sprintf(outputstring, formatstring, items)С С
std::format(formatstring, items)С++ ( С++20 ) Питон
std.string.format(formatstring, items)Д С
Format(formatstring, items)Объектный Паскаль ( Делфи )
fmt.Sprintf(formatstring, items)Идти С
printf formatstring itemsЮникс С
formatstring % (items)Питон , Рубин С
formatstring.format(items)Питон .СЕТЬ
fformatstringПитон 3
Printf.sprintf formatstring[21] itemsOCaml , F# С
Text.Printf.printf formatstring itemsХаскелл (GHC) С
formatstring printf: itemsСмолток С
String.format(formatstring, items)Ява С
String.Format(formatstring, items)ВБ.NET , C# , F# .СЕТЬ
(format formatstring items)Схема (СРФИ 28) Лисп
(format nil formatstring items)Общий Лисп Лисп
(format formatstring items)Кложур Лисп
formatstring -f itemsWindows PowerShell .СЕТЬ
[NSString stringWithFormat:formatstring, items]Цель-C ( NSString * только) С
String(format:formatstring, items)Свифт (Фонд) С
string.format(formatstring, items)
(formatstring):format(items)
Два С
WRITE (outputstring, formatstring) itemsФортран Фортран
put string(string) edit(items)(format)ПЛ/Я PL/I (аналог Фортрана)
String.format(formatstring, items)Кобра .СЕТЬ
format formatstring itemsТкл С
formatnumbersitems
formatstring ⎕FMT items
АПЛ АПЛ
format!(formatstring, items)Ржавчина [22] Питон
// Example in C#String.Format("My {0} costs {1:C2}", "pen", 19.99); // returns "My pen costs $19.99"
// Example in Object Pascal (Delphi)Format('My %s costs $%2f', ['pen', 19.99]);         // returns "My pen costs $19.99"
// Example in JavaString.format("My %s costs $%2f", "pen", 19.99);    // returns "My pen costs $19.99"
# Examples in Rakusprintf "My %s costs \$%.2f", "pen", 19.99;          # returns "My pen costs $19.99"1.fmt("%04d");                                       # returns "0001"
# Example in Python"My %s costs $%.2f" % ("pen", 19.99);                #  returns "My pen costs $19.99""My {0} costs ${1:.2f}".format("pen", 19.99);        #  returns "My pen costs $19.99"
#Example in Python 3.6+pen = "pen"f"My {pen} costs {19.99}"                                          #returns "My pen costs 19.99"
; Example in Scheme(format "My ~a costs $~1,2F" "pen" 19.99)           ;  returns "My pen costs $19.99"
/* example in PL/I */put string(some_string) edit('My ', 'pen', ' costs', 19.99)(a,a,a,p'$$$V.99')/* returns "My pen costs $19.99" */

Неравенство

[ редактировать ]

Проверяет, не равны ли две строки. См. также #Равенство .

Формат Языки
string1 ne string2
string1 NE string2
АЛГОЛ 68 – примечание: оператор « ne » выделен жирным шрифтом.
string1 /= string2Алгол 68 , Ада , Эрланг , Фортран , Хаскелл
string1 <> string2BASIC , VB , VB.NET , Pascal , Object Pascal ( Delphi ), OCaml , PHP , Seed7 , Standard ML , F# , COBOL , Cobra , Python 2 (устарело)
string1 # string2БЕЙСИК (некоторые реализации)
string1 ne string2Жемчуг , Рак
(string<> string1 string2)Схема (СРФИ 13)
(string/= string1 string2)Общий Лисп
(string/= string1 string2)ИСЛИСП
(not= string1 string2)Кложур
string1 != string2C++ (STL), C# , Go , JavaScript (не похоже), PHP (не похоже), Python , Ruby , Rust , [10] Свифт , Д , Математика
string1 !== string2JavaScript , PHP
string1 \= string2Рекс
string1 ¬= string2ПЛ/Я
test string1 != string2
[ string1 != string2 ]
Борн Шелл
string1 -ne string2
-not [string]::Equals(string1, string2)
Windows PowerShell
string1 ~= string2Луа , Смолток
string1string2АПЛ
string1.ne(string2)Ржавчина [10]
// Example in C#"hello" != "world"    // returns true
' Example in Visual Basic"hello" <> "world"    '  returns true
;; Example in Clojure(not= "hello" "world")  ; ⇒ true
# Example in Perl 5'hello' ne 'world'      # returns 1
# Example in Raku'hello' ne 'world'      # returns True
# Example in Windows PowerShell"hello" -ne "world"   #  returns true

Найти см. #

Найти см. #

Найти см. #

инстррев

[ редактировать ]

см . #rfind

присоединиться

[ редактировать ]
Определение join(separator, list_of_strings) возвращает список строк, соединенных разделителем
Описание Объединяет список строк в новую строку со строкой-разделителем между каждой из подстрок. Противоположность расколу .
Связанный спринтф
Формат Языки
std.string.join(array_of_strings, separator)Д
string:join(list_of_strings, separator)Эрланг
join(separator, list_of_strings)Перл , PHP , Раку
implode(separator, array_of_strings)PHP
separator.join(sequence_of_strings)Питон , Свифт 1.x
array_of_strings.join(separator)Руби , JavaScript , Раку , Руст [23]
(string-join array_of_strings separator)Схема (СРФИ 13)
(format nil "~{~a~^separator~}" array_of_strings)Общий Лисп
(clojure.string/join separator list_of_strings)
(apply str (interpose separator list_of_strings))
Кложур
strings.Join(array_of_strings, separator)Идти
join(array_of_strings, separator)Сид7
String.concat separator list_of_stringsOCaml
String.concatWith separator list_of_stringsСтандартный ML
Data.List.intercalate separator list_of_stringsХаскелл (GHC 6.8+)
Join(array_of_strings, separator)ВБ
String.Join(separator, array_of_strings)ВБ.NET , C# , F#
String.join(separator, array_of_strings)Ява 8+
&{$OFS=$separator; "$array_of_strings"}
array_of_strings -join separator
Windows PowerShell
[array_of_strings componentsJoinedByString:separator]Цель-C ( NSString * только)
table.concat(table_of_strings, separator)Два
{|String streamContents: [ :stream | collectionOfAnything asStringOn: stream delimiter: separator ]
collectionOfAnything joinUsing: separator
Smalltalk ( Писк , Фаро )
array_of_strings.join(separator«, final_separator»)Кобра
sequence_of_strings.joinWithSeparator(separator)Свифт 2.x
1↓∊separatorlist_of_stringsАПЛ
// Example in C#String.Join("-", {"a", "b", "c"})  // "a-b-c"
" Example in Smalltalk "#('a' 'b' 'c') joinUsing: '-'      " 'a-b-c' "
# Example in Perl 5join( '-', ('a', 'b', 'c'));       # 'a-b-c'
# Example in Raku<a b c>.join('-');       # 'a-b-c'
# Example in Python"-".join(["a", "b", "c"])          #  'a-b-c'
# Example in Ruby["a", "b", "c"].join("-")          #  'a-b-c'
; Example in Scheme(use-modules (srfi srfi-13))(string-join '("a" "b" "c") "-")   ;  "a-b-c"

последнийиндексоф

[ редактировать ]

см . #rfind

Определение left(string,n) возвращает строку
Описание Возвращает левую n часть строки. Если n больше длины строки, то большинство реализаций возвращают всю строку (существуют исключения — см. примеры кода). Обратите внимание, что для кодировок переменной длины, таких как UTF-8 , UTF-16 или Shift-JIS , может потребоваться удалить позиции строки в конце, чтобы избежать появления недопустимых строк.
Формат Языки
string (string'First .. string'First + n - 1)Есть
substr(string, 0, n)AWK (изменяет строку), Perl , PHP , Raku
LEFT$(string,n)БЕЙСИК , ВБ
left(string,n)VB , FreeBASIC , Ingres , Pick Basic
strncpy(string2, string, n)Стандартная библиотека C
string.substr(0,n)C++ (STL), Рак
[string substringToIndex:n]Цель-C ( NSString * только)
(apply str (take n string))Кложур
string[0 .. n]Д [24]
string:substr(string, start, length)Эрланг
(subseq string 0 n)Общий Лисп
string[:n]Кобра , Го , Питон
left(string,n «,padchar»)Рекс , Эрланг
string[0, n]
string[0..n - 1]
Руби
string[1, n]Выберите базовый
string[ .. n]Сид7
string.Substring(0,n)VB.NET , C# , Windows PowerShell , F#
leftstr(string, n)Паскаль , Объектный Паскаль ( Делфи )
copy (string,1,n)Турбо Паскаль
string.substring(0,n)Ява , [25] JavaScript
(string-take string n)Схема (СРФИ 13)
take n stringХаскелл
String.extract (string, n, NONE)Стандартный ML
String.sub string 0 nOCaml [26]
string.[..n]Ф#
string.sub(string, 1, n)
(string):sub(1, n)
Два
string first: nSmalltalk ( Писк , Фаро )
string(:n)Фортран
StringTake[string, n]Математика [27]
string («FUNCTION» LENGTH(string) - n:n)КОБОЛ
string.substring(0, n)Кобра
nstring.АПЛ
string[0..n]
string[..n]
string.get(0..n)
string.get(..n)
Ржавчина [28]
# Example in Raku"Hello, there!".substr(0, 6);  # returns "Hello,"
/* Examples in Rexx */left("abcde", 3)         /* returns "abc"      */left("abcde", 8)         /* returns "abcde   " */left("abcde", 8, "*")    /* returns "abcde***" */
; Examples in Scheme(use-modules (srfi srfi-13))(string-take "abcde", 3) ;  returns "abc"(string-take "abcde", 8) ;  error
' Examples in Visual BasicLeft("sandroguidi", 3)   '  returns "san"Left("sandroguidi", 100) '  returns "sandroguidi"


см . #длина


Определение length(string) возвращает целое число
Описание Возвращает длину строки (не считая нулевого символа-терминатора или любой другой внутренней структурной информации строки). Пустая строка возвращает длину 0.
Формат Возврат Языки
string'LengthЕсть
UPB stringАЛГОЛ 68
echo "${#string_param}"Баш
length(string)Ingres , Perl 5, Паскаль , Object Pascal ( Delphi ), Rexx , Seed7 , SQL , PL/I
len(string)BASIC , FreeBASIC , Python , Go , Выберите базовый
length(string), string:len(string)Эрланг
Len(string)ВБ , выберите базовый
string.LengthКоличество UTF-16 кодовых единиц VB.NET , C# , Windows PowerShell , F#
chars(string)
string.chars
Количество графем (NFG) Раку
codes(string)
string.codes
Количество кодовых точек Юникода Раку
string.size OR string.lengthКоличество байтов [29] Руби
strlen(string)Количество байтов С , PHP
string.length()С++ (СТЛ)
string.lengthКобра , D , JavaScript
string.length()Количество UTF-16 кодовых единиц Ява
(string-length string)Схема
(length string)Общий Лисп , ISLISP
(count string)Кложур
String.length stringOCaml
size stringСтандартный ML
length stringКоличество кодовых точек Юникода Хаскелл
string.lengthКоличество UTF-16 кодовых единиц Цель-C ( NSString * только)
string.characters.countКоличество символов Свифт (2.x)
count(string)Количество символов Свифт (1,2)
countElements(string)Количество символов Свифт (1,0–1,1)
string.len(string)
(string):len()
#string
Два
string sizeСмолток
LEN(string)
LEN_TRIM(string)
Фортран
StringLength[string]Математика
«FUNCTION» LENGTH(string) или

«FUNCTION» BYTE-LENGTH(string)

количество символов и количество байтов соответственно КОБОЛ
string length stringдесятичная строка, указывающая количество символов Ткл
stringАПЛ
string.len()Количество байтов Ржавчина [30]
string.chars().count()Количество кодовых точек Юникода Ржавчина [31]
// Examples in C#"hello".Length;      // returns 5"".Length;           // returns 0
# Examples in Erlangstring:len("hello"). %  returns 5string:len("").      %  returns 0
# Examples in Perl 5length("hello");     #  returns 5length("");          #  returns 0
# Examples in Raku"🏳️‍🌈".chars; chars "🏳️‍🌈";      # both return 1"🏳️‍🌈".codes; codes "🏳️‍🌈";      # both return 4"".chars; chars "";          # both return 0"".codes; codes "";          # both return 0
' Examples in Visual BasicLen("hello")         '  returns 5Len("")              '  returns 0
//Examples in Objective-C[@"hello" Length]   //returns 5[@"" Length]   //returns 0
-- Examples in Lua("hello"):len() -- returns 5#"" -- returns 0

Найти см. #


строчные буквы

[ редактировать ]
Определение lowercase(string) возвращает строку
Описание Возвращает строку в нижнем регистре.
Формат Языки
LCase(string)ВБ
lcase(string)FreeBASIC
lc(string)Жемчуг , Рак
string.lcРаку
tolower(char)С [32]
std.string.toLower(string)Д
transform(string.begin(), string.end(), result.begin(), ::tolower)[33] С++ [34]
lowercase(string)Объектный Паскаль ( Делфи )
strtolower(string)PHP
lower(string)Сид7
${string_param,,}Баш
echo "string" | tr 'A-Z' 'a-z'Юникс
string.lower()Питон
downcase(string)Выберите базовый
string.downcaseРуби [35]
strings.ToLower(string)Идти
(string-downcase string)Схема (R6RS), Common Lisp
(lower-case string)Кложур
String.lowercase stringOCaml
String.map Char.toLower stringСтандартный ML
map Char.toLower stringХаскелл
string.toLowerCase()Ява , JavaScript
to_lower(string)Эрланг
string.ToLower()VB.NET , C# , Windows PowerShell , F#
string.lowercaseStringЦель-C ( NSString * только), Свифт (Основной)
string.lower(string)
(string):lower()
Два
string asLowercaseСмолток
LOWER(string)SQL
lowercase(string)ПЛ/Я [8]
ToLowerCase[string]Математика
«FUNCTION» LOWER-CASE(string)КОБОЛ
string.toLowerКобра
string tolower stringТкл
string.to_lowercase()Ржавчина [36]
// Example in C#"Wiki means fast?".ToLower();        // "wiki means fast?"
; Example in Scheme(use-modules (srfi srfi-13))(string-downcase "Wiki means fast?") ;  "wiki means fast?"
/* Example in C */#include <ctype.h>#include <stdio.h>int main(void) {    char string[] = "Wiki means fast?";    int i;    for (i = 0; i < sizeof(string) - 1; ++i) {        /* transform characters in place, one by one */        string[i] = tolower(string[i]);    }    puts(string);                       /* "wiki means fast?" */    return 0;}
# Example in Raku"Wiki means fast?".lc;             # "wiki means fast?"


середина

[ редактировать ]

см . #подстрока


Определение <string>.partition( separator ) возвращает подстроку перед разделителем; сепаратор; затем подстрока после разделителя.
Описание Разбивает заданную строку по разделителю и возвращает три подстроки, которые вместе составляют оригинал.
Формат Языки Комментарии
string.partition(separator)Питон , Руби (1.9+)
lists:partition(pred, string)Эрланг
split /(separator)/, string, 2Перл 5
split separator, string, 2
string.split( separator, 2 )
Раку Разделитель не обязательно должен быть регулярным выражением.
# Examples in Python"Spam eggs spam spam and ham".partition('spam')   # ('Spam eggs ', 'spam', ' spam and ham')"Spam eggs spam spam and ham".partition('X')      # ('Spam eggs spam spam and ham', "", "")
# Examples in Perl 5 / Rakusplit /(spam)/, 'Spam eggs spam spam and ham' ,2;   # ('Spam eggs ', 'spam', ' spam and ham');split /(X)/, 'Spam eggs spam spam and ham' ,2;      # ('Spam eggs spam spam and ham');


заменять

[ редактировать ]
Определение replace(string, find, replace) возвращает строку
Описание Возвращает строку, в которой вхождения find изменены на replace .
Формат Языки
changestr(find, string, replace)Рекс
std.string.replace(string, find, replace)Д
Replace(string, find, replace)ВБ
replace(string, find, replace)Сид7
change(string, find, replace)Выберите базовый
string.Replace(find, replace)C# , F# , VB.NET
str_replace(find, replace, string)PHP
re:replace(string, find, replace, «{return, list}»)Эрланг
string.replace(find, replace)Кобра , Java (1.5+), Python , Rust [37]
string.replaceAll(find_regex, replace)[38]Ява
string.gsub(find, replace)Руби
string =~ s/find_regex/replace/g[38]Перл 5
string.subst(find, replace, :g)Раку
string.replace(find, replace, "g") [39]
string.replace(/find_regex/g, replace)[38]
JavaScript
echo "string" | sed 's/find_regex/replace/g'[38]Юникс
${string_param//find_pattern/replace}Баш
string.replace(find, replace)
string -replace find_regex, replace[38]
Windows PowerShell
Str.global_replace (Str.regexp_string find) replace stringOCaml
[string stringByReplacingOccurrencesOfString:find withString:replace]Цель-C ( NSString * только)
string.stringByReplacingOccurrencesOfString(find, withString:replace)Свифт (Фонд)
string.gsub(string, find, replace)
(string):gsub(find, replace)
Два
string copyReplaceAll: find with: replaceSmalltalk ( Писк , Фаро )
string map {find replace} stringТкл
StringReplace[string, find -> replace]Математика
strings.Replace(string, find, replace, -1)Идти
INSPECT string REPLACING ALL/LEADING/FIRST find BY replaceКОБОЛ
find_regex ⎕R replace_regexstringАПЛ
// Examples in C#"effffff".Replace("f", "jump");     // returns "ejumpjumpjumpjumpjumpjump""blah".Replace("z", "y");           // returns "blah"
// Examples in Java"effffff".replace("f", "jump");     // returns "ejumpjumpjumpjumpjumpjump""effffff".replaceAll("f*", "jump"); // returns "ejump"
// Examples in Raku"effffff".subst("f", "jump", :g);    # returns "ejumpjumpjumpjumpjumpjump""blah".subst("z", "y", :g);          # returns "blah"
' Examples in Visual BasicReplace("effffff", "f", "jump")     '  returns "ejumpjumpjumpjumpjumpjump"Replace("blah", "z", "y")           '  returns "blah"
# Examples in Windows PowerShell"effffff" -replace "f", "jump"      #  returns "ejumpjumpjumpjumpjumpjump""effffff" -replace "f*", "jump"     #  returns "ejump"

обеспечить регресс

[ редактировать ]
Определение reverse(string)
Описание Меняет порядок символов в строке на обратный.
Формат Языки
reverse stringПерл 5, Хаскель
flip string
string.flip
Раку
lists:reverse(string)Эрланг
strrev(string)PHP
string[::-1]Питон
(string-reverse string)Схема (СРФИ 13)
(reverse string)Общий Лисп
string.reverseRuby , D (изменяет строку)
new StringBuilder(string).reverse().toString()Ява
std::reverse(string.begin(), string.end());С++ ( std::string только изменяет строку)
StrReverse(string)ВБ
string.Reverse()ВБ.NET , С#
implode (rev (explode string))Стандартный ML
string.split("").reverse().join("")JavaScript
string.reverse(string)
(string):reverse()
Два
string reverseСмолток
StringReverse[string]Математика
reverse(string)ПЛ/Я
«FUNCTION» REVERSE(string)КОБОЛ
string.toCharArray.toList.reversed.join()Кобра
String(string.characters.reverse())Свифт (2.x)
String(reverse(string))Свифт (1,2)
string reverse stringТкл
stringАПЛ
string.chars().rev().collect::<String>()Ржавчина [40]
echo string | revЮникс
" Example in Smalltalk "'hello' reversed             " returns 'olleh' "
# Example in Perl 5reverse "hello"              # returns "olleh"
# Example in Raku"hello".flip                 # returns "olleh"
# Example in Python"hello"[::-1]                # returns "olleh"
; Example in Scheme(use-modules (srfi srfi-13))(string-reverse "hello")     ; returns "olleh"
Определение rfind(string,substring) возвращает целое число
Описание Возвращает позицию начала последнего вхождения подстроки в строке . Если подстрока не найдена, большинство этих подпрограмм возвращают недопустимое значение индекса – -1, когда индексы отсчитываются от 0, 0, когда они отсчитываются от 1, – или какое-то значение, которое интерпретируется как логическое значение FALSE.
Связанный инстр
Формат Языки Если не найден
InStrRev(«startposstring,substring)ВБ возвращает 0
instrrev(«startposstring,substring)FreeBASIC возвращает 0
rindex(string,substring«,startpos»)Перл 5 возвращает −1
rindex(string,substring«,startpos»)
string.rindex(substring«,startpos»)
Раку возвращает ноль
strrpos(string,substring«,startpos»)PHP возвращает ЛОЖЬ
string.rfind(substring«,startpos»)С++ (СТЛ) возвращает станд::строка::npos
std.string.rfind(string, substring)Д возвращает −1
string.rfind(substring«,startpos«, endpos»»)Питон возвращает −1
string.rindex(substring«,startpos«, endpos»»)поднимает ValueError
rpos(string, substring«,startpos»)Сид7 возвращает 0
string.rindex(substring«,startpos»)Руби возвращает ноль
strings.LastIndex(string, substring)Идти возвращает −1
string.lastIndexOf(substring«,startpos»)Ява , JavaScript возвращает −1
string.LastIndexOf(substring«,startpos«, charcount»»)VB.NET , C# , Windows PowerShell , F# возвращает −1
(search substring string :from-end t)Общий Лисп возвращает НОЛЬ
[string rangeOfString:substring options:NSBackwardsSearch].locationЦель-C ( NSString * только) возвращает НСНотфаунд
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1)OCaml поднимает Не найдено
string.match(string, '.*()'..substring)
string:match('.*()'..substring)
Два возвращает ноль
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring, Going => Ada.Strings.Backward)Есть возвращает 0
string.lastIndexOf(substring«,startpos«, charcount»»)Кобра возвращает −1
string lastIndexOfString:substringСмолток возвращает 0
string last substring string startposТкл возвращает −1
(⌽<\⌽substring⍷'string')⍳1АПЛ возвращает −1
string.rfind(substring)Ржавчина [41] возвращает Никто
; Examples in Common Lisp(search "e" "Hello mate" :from-end t)     ;  returns 9(search "z" "word" :from-end t)           ;  returns NIL
// Examples in C#"Hello mate".LastIndexOf("e");           // returns 9"Hello mate".LastIndexOf("e", 4);        // returns 1"word".LastIndexOf("z");                 // returns -1
# Examples in Perl 5rindex("Hello mate", "e");               # returns 9rindex("Hello mate", "e", 4);            # returns 1rindex("word", "z");                     # returns -1
# Examples in Raku"Hello mate".rindex("e");                # returns 9"Hello mate".rindex("e", 4);             # returns 1"word".rindex('z');                      # returns Nil
' Examples in Visual BasicInStrRev("Hello mate", "e")              '  returns 10InStrRev(5, "Hello mate", "e")           '  returns 2InStrRev("word", "z")                    '  returns 0


Определение right(string,n) возвращает строку
Описание Возвращает правую n часть строки. Если n больше длины строки, то большинство реализаций возвращают всю строку (существуют исключения — см. примеры кода).
Формат Языки
string (string'Last - n + 1 .. string'Last)Есть
Right(string,n)ВБ
RIGHT$(string,n)БАЗОВЫЙ
right(string,n)FreeBASIC , Ingres , выбор базового
strcpy(string2, string+n) (n не должно быть больше длины строки ) С
string.Substring(string.Length()-n)С#
string[len(string)-n:]Идти
string.substring(string.length()-n)Ява
string.slice(-n)JavaScript [42]
right(string,n «,padchar»)Рекс , Эрланг
substr(string,-n)Перл 5, PHP
substr(string,*-n)
string.substr(*-n)
Раку
string[-n:]Кобра , Питон
${string_param: -n} (обратите внимание на пробел после двоеточия) Баш
string[n]Выберите базовый
(string-take-right string n)Схема (СРФИ 13)
string[-n..-1]Руби
string[$-n .. $]Д [43]
String.sub string (String.length string - n) nOCaml [26]
string.sub(string, -n)
(string):sub(-n)
Два
string last: nSmalltalk ( Писк , Фаро )
StringTake[string, -n]Математика [27]
string (1:n)КОБОЛ
¯nstring.АПЛ
string[n..]
string.get(n..)
Ржавчина [28]
// Examples in Java; extract rightmost 4 charactersString str = "CarDoor";str.substring(str.length()-4); // returns 'Door'
# Examples in Raku"abcde".substr(*-3);          # returns "cde""abcde".substr(*-8);          # 'out of range' error
/* Examples in Rexx */right("abcde", 3)              /* returns "cde"      */right("abcde", 8)              /* returns "   abcde" */right("abcde", 8, "*")         /* returns "***abcde" */
; Examples in Scheme(use-modules (srfi srfi-13))(string-take-right "abcde", 3) ;  returns "cde"(string-take-right "abcde", 8) ;  error
' Examples in Visual BasicRight("sandroguidi", 3)        '  returns "idi"Right("sandroguidi", 100)      '  returns "sandroguidi"


перегородка

[ редактировать ]
Определение <string>.rpartition( separator ) Ищет разделитель внутри строки справа налево, затем возвращает подстроку перед разделителем; сепаратор; затем подстрока после разделителя.
Описание Разбивает заданную строку по крайнему правому разделителю и возвращает три подстроки, которые вместе составляют оригинал.
Формат Языки
string.rpartition(separator)Питон , Рубин
# Examples in Python"Spam eggs spam spam and ham".rpartition('spam')  ### ('Spam eggs spam ', 'spam', ' and ham')"Spam eggs spam spam and ham".rpartition('X')     ### ("", "", 'Spam eggs spam spam and ham')

см . #подстрока


расколоть

[ редактировать ]
Определение <string>.split( separator [, limit ]) разделяет строку по разделителю, возможно, только до ограниченного количества подстрок.
Описание Разбивает заданную строку по вхождениям разделителя (который сам по себе является строкой) и возвращает список (или массив) подстрок. Если предел задан «предел , после считывания разделителей – 1» остальная часть строки превращается в последнюю подстроку, независимо от того, есть ли в ней разделители. Реализации Scheme и Erlang схожи, но отличаются по нескольким параметрам. JavaScript отличается еще и тем, что он обрезает, а не помещает остальную часть строки в последний элемент. См. пример здесь . Реализация Cobra по умолчанию использует пробелы. Противоположность join .
Формат Языки
split(/separator/, string«, limit»)Перл 5
split(separator, string«, limit»)
string.split(separator, «limit»)
Раку
explode(separator, string«, limit»)PHP
string.split(separator«, limit-1»)Питон
string.split(separator«, limit»)JavaScript , Java , Руби
string:tokens(string, sepchars)Эрланг
strings.Split(string, separator)
strings.SplitN(string, separator, limit)
Идти
(string-tokenize string« charset« start« end»»»)Схема (СРФИ 13)
Split(string, sepchars«, limit»)ВБ
string.Split(sepchars«, limit«, options»»)ВБ.NET , C# , F#
string -split separator«, limit«, options»»Windows PowerShell
Str.split (Str.regexp_string separator) stringOCaml
std.string.split(string, separator)Д
[string componentsSeparatedByString:separator]Цель-C ( NSString * только)
string.componentsSeparatedByString(separator)Свифт (Фонд)
TStringList.Delimiter, TStringList.DelimitedTextОбъектный Паскаль
StringSplit[string, separator«, limit»]Математика
string.split«(sepchars«, limit«, options»»)»Кобра
split string separatorТкл
(separatorstring)⊂string в АПЛ2
separator(≠⊆⊢)string в Диалоге APL 16.0
АПЛ
string.split(separator)

string.split(limit, separator)

Ржавчина [44]
// Example in C#"abc,defgh,ijk".Split(',');                 // {"abc", "defgh", "ijk"}"abc,defgh;ijk".Split(',', ';');            // {"abc", "defgh", "ijk"}
% Example in Erlangstring:tokens("abc;defgh;ijk", ";").        %  ["abc", "defgh", "ijk"]
// Examples in Java"abc,defgh,ijk".split(",");                 // {"abc", "defgh", "ijk"}"abc,defgh;ijk".split(",|;");               // {"abc", "defgh", "ijk"}
{ Example in Pascal }var  lStrings: TStringList;  lStr: string;begin  lStrings := TStringList.Create;  lStrings.Delimiter := ',';  lStrings.DelimitedText := 'abc,defgh,ijk';  lStr := lStrings.Strings[0]; // 'abc'  lStr := lStrings.Strings[1]; // 'defgh'  lStr := lStrings.Strings[2]; // 'ijk'end;
# Examples in Perl 5split(/spam/, 'Spam eggs spam spam and ham'); # ('Spam eggs ', ' ', ' and ham')split(/X/, 'Spam eggs spam spam and ham');    # ('Spam eggs spam spam and ham')
# Examples in Raku'Spam eggs spam spam and ham'.split(/spam/);  # (Spam eggs     and ham)split(/X/, 'Spam eggs spam spam and ham');    # (Spam eggs spam spam and ham)


см . #Формат

см . #trim


см. #Compare (целочисленный результат)


подстрока

[ редактировать ]
Определение substring(string, startpos, endpos) возвращает строку
substr(string, startpos, numChars) возвращает строку
Описание Возвращает подстроку строки между startpos и endpos или начиная с startpos длиной numChars . Результирующая строка усекается, если находится менее numChars за начальной точкой символов. endpos представляет индекс после последнего символа подстроки. Обратите внимание, что для кодировок переменной длины, таких как UTF-8 , UTF-16 или Shift-JIS , может потребоваться удалить позиции строки в конце, чтобы избежать появления недопустимых строк.
Формат Языки
string[startpos:endpos]АЛГОЛ 68 (меняет базовый индекс)
string (startpos .. endpos)Ада (меняет базовый индекс)
Mid(string, startpos, numChars)ВБ
mid(string, startpos, numChars)FreeBASIC
string[startpos+(⍳numChars)-~⎕IO]АПЛ
MID$(string, startpos, numChars)БАЗОВЫЙ
substr(string, startpos, numChars)AWK (изменение строки), Perl 5, [45] [46] PHP [45] [46]
substr(string, startpos, numChars)
string.substr(startpos, numChars)
Раку [47] [48]
substr(string, startpos «,numChars, padChar»)Рекс
string[startpos:endpos]Кобра , Питон , [45] [49] Идти
string[startpos, numChars]Выберите базовый
string[startpos, numChars]
string[startpos .. endpos-1]
string[startpos ... endpos]
Руби [45] [49]
string[startpos .. endpos]
string[startpos len numChars]
Сид7
string.slice(startpos«, endpos»)JavaScript [45] [49]
string.substr(startpos«, numChars»)С++ (STL), JavaScript
string.Substring(startpos, numChars)VB.NET , C# , Windows PowerShell , F#
string.substring(startpos«, endpos»)Ява , JavaScript
copy(string, startpos, numChars)Объектный Паскаль ( Делфи )
(substring string startpos endpos)Схема
(subseq string startpos endpos)Общий Лисп
(subseq string startpos endpos)ИСЛИСП
String.sub string startpos numCharsOCaml
substring (string, startpos, numChars)Стандартный ML
string:sub_string(string, startpos, endpos)
string:substr(string, startpos, numChars)
Эрланг
strncpy(result, string + startpos, numChars);С
string[startpos .. endpos+1]Д
take numChars $ drop startpos stringХаскелл
[string substringWithRange:NSMakeRange(startpos, numChars)]Цель-C ( NSString * только)
string.[startpos..endpos]Ф#
string.sub(string, startpos, endpos)
(string):sub(startpos, endpos)
Два [45] [49]
string copyFrom: startpos to: endposСмолток
string(startpos:endpos)Фортран
SUBSTRING(string FROM startpos «FOR numChars»)SQL
StringTake[string, {startpos, endpos}]Математика [45] [49]
string (startpos:numChars)КОБОЛ
${string_param:startpos:numChars}Баш
диапазон строк строка startpos endpos Ткл
string[startpos..endpos]
string.get(startpos..endpos)
Ржавчина [28]
// Examples in C#"abc".Substring(1, 1):      // returns "b""abc".Substring(1, 2);      // returns "bc""abc".Substring(1, 6);      // error
;; Examples in Common Lisp(subseq "abc" 1 2)          ; returns "b"(subseq "abc" 2)            ; returns "c"
% Examples in Erlangstring:substr("abc", 2, 1). %  returns "b"string:substr("abc", 2).    %  returns "bc"
# Examples in Perl 5substr("abc", 1, 1);       #  returns "b"substr("abc", 1);          #  returns "bc"
# Examples in Raku"abc".substr(1, 1);        #  returns "b""abc".substr(1);           #  returns "bc"
# Examples in Python"abc"[1:2]                 #  returns "b""abc"[1:3]                 #  returns "bc"
/* Examples in Rexx */substr("abc", 2, 1)         /* returns "b"      */substr("abc", 2)            /* returns "bc"     */substr("abc", 2, 6)         /* returns "bc    " */substr("abc", 2, 6, "*")    /* returns "bc****" */


Прописные буквы

[ редактировать ]
Определение uppercase(string) возвращает строку
Описание Возвращает строку в верхнем регистре.
Формат Языки
UCase(string)ВБ
ucase(string)FreeBASIC
toupper(string)AWK (изменяет строку)
uc(string)Жемчуг , Рак
string.ucРаку
toupper(char)C (работает с одним символом)
for(size_t i = 0, len = strlen(string); i< len; i++) string[i] = toupper(string[i]);
for (char *c = string; *c != '\0'; c++) *c = toupper(*c);
C (массив строк/символов)
std.string.toUpper(string)Д
transform(string.begin(), string.end(), result.begin(), toupper)[33]С++ [50]
uppercase(string)Объектный Паскаль ( Делфи )
upcase(char)Object Pascal ( Delphi ) (работает с одним символом)
strtoupper(string)PHP
upper(string)Сид7
${string_param^^} (мнемоника: ^ направлен вверх) Баш
echo "string" | tr 'a-z' 'A-Z'Юникс
translate(string)
UPPER variables
PARSE UPPER VAR SrcVar DstVar
Рекс
string.upper()Питон
upcase(string)Выберите базовый
string.upcaseРуби [35]
strings.ToUpper(string)Идти
(string-upcase string)Схема , Common Lisp
String.uppercase stringOCaml
String.map Char.toUpper stringСтандартный ML
map Char.toUpper stringХаскелл
string.toUpperCase()Ява , JavaScript
to_upper(string)Эрланг
string.ToUpper()VB.NET , C# , Windows PowerShell , F#
string.uppercaseStringЦель-C ( NSString * только), Свифт (Основной)
string.upper(string)
(string):upper()
Два
string asUppercaseСмолток
UPPER(string)SQL
ToUpperCase[string]Математика
«FUNCTION» UPPER-CASE(string)КОБОЛ
string.toUpperКобра
string toupper stringТкл
string.to_uppercase()Ржавчина [51]
// Example in C#"Wiki means fast?".ToUpper();      // "WIKI MEANS FAST?"
# Example in Perl 5uc("Wiki means fast?");             # "WIKI MEANS FAST?"
# Example in Rakuuc("Wiki means fast?");             # "WIKI MEANS FAST?""Wiki means fast?".uc;              # "WIKI MEANS FAST?"
/* Example in Rexx */translate("Wiki means fast?")      /* "WIKI MEANS FAST?" *//* Example #2 */A='This is an example.'UPPER A                            /* "THIS IS AN EXAMPLE." *//* Example #3 */A='upper using Translate Function.'Translate UPPER VAR A Z            /* Z="UPPER USING TRANSLATE FUNCTION." */
; Example in Scheme(use-modules (srfi srfi-13))(string-upcase "Wiki means fast?") ;  "WIKI MEANS FAST?"
' Example in Visual BasicUCase("Wiki means fast?")          '  "WIKI MEANS FAST?"

подрезать

[ редактировать ]

trim или strip используется для удаления пробелов в начале, конце или в начале и в конце строки.

Пример использования Языки
String.Trim([chars])C# , VB.NET , Windows PowerShell
string.strip();Д
(.trim string)Кложур
sequence [ predicate? ] trimФактор
(string-trim '(#\Space #\Tab #\Newline) string)Общий Лисп
(string-trim string)Схема
string.trim()Java , JavaScript (1.8.1+, Firefox 3.5+), Rust [52]
Trim(String)Паскаль , [53] QBasic , Visual Basic , Delphi
string.strip()Питон
strings.Trim(string, chars)Идти
LTRIM(RTRIM(String))Oracle SQL , T-SQL
strip(string [,option, char])РЕКСС
string:strip(string [,option, char])Эрланг
string.strip
string.lstrip
string.rstrip
Руби
string.trimРаку
trim(string)PHP , Раку
[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]Objective-C с использованием какао
string withBlanksTrimmed
string withoutSpaces
string withoutSeparators
Smalltalk (Писк, Фаро)
Смолток
strip(string)САС
string trim $stringТкл
TRIM(string)
TRIM(ADJUSTL(string))
Фортран
TRIM(string)SQL
TRIM(string)
LTrim(string)
RTrim(String)
КолдФьюжн
String.trim stringOCaml 4+

Другие языки

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

APL может напрямую использовать регулярные выражения:

Trim'^ +| +$'⎕R''

В качестве альтернативы можно использовать функциональный подход, сочетающий логические маски, которые отфильтровывают начальные и конечные пробелы:

Trim{/⍨(\⌽∨\∘)' '}

Или дважды поменяйте местами и удалите ведущие пробелы:

Trim{(\' ')/}2

В AWK для обрезки можно использовать регулярные выражения:

 ltrim(v) = gsub(/^[ \t]+/, "", v) rtrim(v) = gsub(/[ \t]+$/, "", v) trim(v)  = ltrim(v); rtrim(v)

или:

 function ltrim(s) { sub(/^[ \t]+/, "", s); return s } function rtrim(s) { sub(/[ \t]+$/, "", s); return s } function trim(s)  { return rtrim(ltrim(s)); }

В C или C++ нет стандартной функции обрезки. Большинство доступных строковых библиотек [54] для C содержат код, реализующий обрезку, или функции, которые значительно облегчают эффективную реализацию. Эту функцию также часто называют EatWhitespace в некоторых нестандартных библиотеках C.

В C программисты часто комбинируют ltrim и rtrim для реализации обрезки:

#include <string.h>#include <ctype.h>void rtrim(char *str){  char *s;  s = str + strlen(str);  while (--s >= str) {    if (!isspace(*s)) break;    *s = 0;  }}void ltrim(char *str){  size_t n;  n = 0;  while (str[n] != '\0' && isspace((unsigned char) str[n])) {    n++;  }  memmove(str, str + n, strlen(str) - n + 1);}void trim(char *str){  rtrim(str);  ltrim(str);}

Библиотека с открытым исходным кодом C++ Boost имеет несколько вариантов отделки, включая стандартный: [55]

#include <boost/algorithm/string/trim.hpp>trimmed = boost::algorithm::trim_copy("string");

С функцией повышения, названной просто trim входная последовательность изменяется на месте и не возвращает результата.

Другая с открытым исходным кодом библиотека C++ Qt имеет несколько вариантов отделки, включая стандартный: [56]

#include <QString>trimmed = s.trimmed();

Ядро Linux также включает функцию полосы, strstrip(), начиная с версии 2.6.18-rc1, которая обрезает строку «на месте». Начиная с версии 2.6.33-rc1 ядро ​​использует strim() вместо strstrip() во избежание ложных предупреждений. [57]

Алгоритм обрезки в Haskell :

 import Data.Char (isSpace) trim      :: String -> String trim      = f . f    where f = reverse . dropWhile isSpace

можно интерпретировать следующим образом: f удаляет предыдущий пробел и переворачивает строку. Затем f снова применяется к собственному выводу. Обратите внимание, что сигнатура типа (вторая строка) не является обязательной.

Алгоритм обрезки в J представляет собой функциональное описание:

     trim =. #~ [: (+./\ *. +./\.) ' '&~:

То есть: фильтр( #~) для символов, не являющихся пробелами ( ' '&~:) между ведущими ( +./\) и ( *.) конечный ( +./\.) пространства.

В JavaScript 1.8.1 (Firefox 3.5 и новее) и стандарте ECMAScript 5 есть встроенная функция обрезки. В более ранних версиях его можно было добавить к прототипу объекта String следующим образом:

String.prototype.trim = function() {  return this.replace(/^\s+/g, "").replace(/\s+$/g, "");};

Perl 5 не имеет встроенной функции обрезки. Однако функциональность обычно достигается с помощью регулярных выражений .

Пример:

$string =~ s/^\s+//;            # remove leading whitespace$string =~ s/\s+$//;            # remove trailing whitespace

или:

$string =~ s/^\s+|\s+$//g ;     # remove both leading and trailing whitespace

Эти примеры изменяют значение исходной переменной. $string.

Для Perl также доступен StripLTSpace в String::Strip из КПАН .

Однако есть две функции, которые обычно используются для удаления пробелов в конце строк: chomp и chop:

  • chop удаляет последний символ из строки и возвращает его.
  • chomp удаляет конечный символ(ы) новой строки из строки, если он присутствует. (То, что представляет собой новую строку, зависит от $INPUT_RECORD_SEPARATOR ).

В Raku , будущем родственном языке Perl, строки имеют trim метод.

Пример:

$string = $string.trim;     # remove leading and trailing whitespace$string .= trim;            # same thing

ТКЛ string Команда имеет три соответствующие подкоманды: trim, trimright и trimleft. Для каждой из этих команд может быть указан дополнительный аргумент: строка, представляющая набор символов, которые необходимо удалить. По умолчанию используются пробелы (пробел, табуляция, новая строка, возврат каретки).

Пример обрезки гласных:

set string onomatopoeiaset trimmed [string trim $string aeiou]         ;# result is nomatopset r_trimmed [string trimright $string aeiou]  ;# result is onomatopset l_trimmed [string trimleft $string aeiou]   ;# result is nomatopoeia

XSLT включает функцию normalize-space(string) который удаляет начальные и конечные пробелы, а также заменяет любую последовательность пробелов (включая разрывы строк) одним пробелом.

Пример:

<xsl:variable name='trimmed'>   <xsl:value-of select='normalize-space(string)'/></xsl:variable>

XSLT 2.0 включает регулярные выражения, предоставляя еще один механизм обрезки строк.

Другой метод XSLT для обрезки — использование XPath 2.0. substring() функция.

  1. ^ Перейти обратно: а б с д и индекс может быть отрицательным, что указывает на количество мест до конца строки.
  2. ^ В Rust str::chars метод выполняет итерацию по точкам кода и std::iter::Iterator::nth метод на итераторах возвращает n-е значение с нулевым индексом из итератора, или None.
  3. ^ индекс не может быть отрицательным, используйте *-N , где N указывает количество мест до конца строки.
  4. ^ В C++ перегруженный operator<=> метод для строки возвращает std::strong_ordering объект (иначе std::weak_ordering): less, equal (то же самое, что equivalent), или greater.
  5. ^ возвращает МЕНЬШЕ, РАВНО или БОЛЬШЕ
  6. ^ возвращает LT, EQ или GT
  7. ^ возвращает .TRUE. или .FALSE.. Эти функции основаны на последовательности сортировки ASCII.
  8. ^ Перейти обратно: а б Расширение IBM.
  9. ^ В Rust Ord::cmp метод для строки возвращает Ordering: Less, Equal, или Greater.
  10. ^ Перейти обратно: а б с д и ж В Rust операторы == и != и методы eq, ne реализуются PartialEq черта и операторы <, >, <=, >= и методы lt, gt, le, ge реализуются PartialOrd черта.
  11. ^ Операторы используют последовательность сортировки компилятора по умолчанию.
  12. ^ изменяет string1, в котором должно быть достаточно места для хранения результата
  13. ^ В Rust + оператор реализуется Add черта.
  14. ^ См . str::contains метод.
  15. ^ См . std::basic_string::contains метод.
  16. ^ Перейти обратно: а б startpos — это расширение IBM.
  17. ^ Перейти обратно: а б См. str::find метод.
  18. ^ startpos это расширение IBM.
  19. ^ «сканировать в Fortran Wiki» . Фортранвики.орг. 30 апреля 2009 г. Проверено 18 августа 2013 г.
  20. ^ «проверить в Fortran Wiki» . Фортранвики.орг. 03.05.2012 . Проверено 18 августа 2013 г.
  21. ^ formatstring должен быть фиксированным литералом во время компиляции, чтобы иметь правильный тип.
  22. ^ См. std::format, который импортируется из прелюдии Rust , чтобы его можно было использовать под именем format.
  23. ^ См . slice::join метод.
  24. ^ если n больше длины строки, то в режиме отладки выдается исключение ArrayRangeException, в режиме выпуска поведение не указано .
  25. ^ если n больше длины строки, Java выдаст исключение IndexOutOfBoundsException
  26. ^ Перейти обратно: а б если n больше длины строки, выдается Invalid_argument
  27. ^ Перейти обратно: а б если n больше длины строки, выдать сообщение "StringTake::take:"
  28. ^ Перейти обратно: а б с В Rust строки индексируются с точки зрения смещения байтов, и во время выполнения возникает паника, если индекс выходит за пределы или если это приведет к недопустимому UTF-8 . А &str (ссылка на строку) может индексироваться различными типами диапазонов, включая Range ( 0..n), RangeFrom ( n..), и RangeTo ( ..n), потому что все они реализуют SliceIndex черта с str является индексируемым типом. str::get метод — это способ индексации без паники. Он возвращает None в тех случаях, когда индексация может вызвать панику.
  29. ^ В Ruby отсутствует поддержка Unicode.
  30. ^ См . str::len метод.
  31. ^ В Rust str::chars метод выполняет итерацию по точкам кода и std::iter::Iterator::count Метод для итераторов использует итератор и возвращает общее количество элементов в итераторе.
  32. ^ работает с одним символом
  33. ^ Перейти обратно: а б The transform функция существует в std:: пространство имен. Вы должны включить <algorithm> заголовочный файл, чтобы использовать его. tolower и toupper функции находятся в глобальном пространстве имен, полученном <ctype.h> заголовочный файл. std::tolower и std::toupper имена перегружены и не могут быть переданы std::transform без приведения для разрешения неоднозначности перегрузки функции, например std::transform(string.begin(), string.end(), result.begin(), (int (*)(int))std::tolower);
  34. ^ std::string только результат сохраняется в строке result что, по крайней мере, до тех пор, пока stringи может быть, а может и не быть string сам
  35. ^ Перейти обратно: а б только символы ASCII, поскольку Ruby не поддерживает Unicode
  36. ^ См . str::to_lowercase метод.
  37. ^ См . str::replace метод.
  38. ^ Перейти обратно: а б с д и Строка «найти» в этой конструкции интерпретируется как регулярное выражение . Некоторые символы имеют особое значение в регулярных выражениях. Если вы хотите найти строку буквально, вам нужно взять в кавычки специальные символы.
  39. ^ третий параметр нестандартный
  40. ^ В Rust str::chars метод выполняет итерацию по точкам кода, std::iter::Iterator::rev метод на обратимых итераторах ( std::iter::DoubleEndedIterator) создает обратный итератор, а std::iter::Iterator::collect метод использует итератор и создает коллекцию (которая здесь указана как String с синтаксисом Turbofish ) из элементов итератора.
  41. ^ См . str::rfind метод.
  42. ^ «Аннотированный ES5» . Es5.github.com. Архивировано из оригинала 28 января 2013 г. Проверено 18 августа 2013 г.
  43. ^ если n больше длины строки, то в режиме отладки выдается исключение ArrayRangeException и неопределенное поведение в режиме выпуска.
  44. ^ См . str::split и str::rsplit методы.
  45. ^ Перейти обратно: а б с д и ж г startpos может быть отрицательным, что указывает на то, что начинать нужно с указанного количества мест до конца строки.
  46. ^ Перейти обратно: а б numChars может быть отрицательным, что указывает на то, что нужно закончить это количество мест до конца строки.
  47. ^ startpos может не быть отрицательным, используйте * - startpos , чтобы указать, что нужно начинать с этого количества мест до конца строки.
  48. ^ numChars может не быть отрицательным, используйте * - numChars , чтобы указать, что нужно закончить это количество мест до конца строки.
  49. ^ Перейти обратно: а б с д и endpos может быть отрицательным, что указывает на то, что нужно закончить это количество мест до конца строки.
  50. ^ std::string только результат сохраняется в строке result , длина которой не менее длины строки , и может быть, а может и не быть строкой. самой
  51. ^ В Rust str::to_uppercase метод возвращает вновь выделенный String при этом все символы нижнего регистра заменяются на прописные в соответствии с правилами Юникода.
  52. ^ В Rust str::trim метод возвращает ссылку на оригинал &str.
  53. ^ «Обрезка — Справочник по GNU Pascal» . Gnu-pascal.de . Проверено 24 августа 2013 г.
  54. ^ «Сравнение строковых библиотек» . И.орг . Проверено 24 августа 2013 г.
  55. ^ «Использование – 1.54.0» . Boost.org. 22 мая 2013 г. Проверено 24 августа 2013 г.
  56. ^ [1] Архивировано 2 августа 2009 г., в Wayback Machine.
  57. ^ данкамонгмен. "sprezzos-kernel-packaging/changelog в master · dankamongmen/sprezzos-kernel-packaging · GitHub" . Гитхаб.com . Проверено 29 мая 2016 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 39faa0d14a116778544114f287a850d0__1709462880
URL1:https://arc.ask3.ru/arc/aa/39/d0/39faa0d14a116778544114f287a850d0.html
Заголовок, (Title) документа по адресу, URL1:
Comparison of programming languages (string functions) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)