Stringfunktionen werden in Computerprogrammiersprachen verwendet, um eine Zeichenkette zu bearbeiten oder Informationen über eine Zeichenkette abzufragen (einige können beides).
Die meisten Programmiersprachen mit einem String- Datentyp bieten auch String-Funktionen, obwohl es innerhalb jeder Sprache weitere, weniger komplexe Möglichkeiten zur direkten String-Verarbeitung geben kann. In objektorientierten Sprachen werden String-Funktionen häufig als Eigenschaften und Methoden von String-Objekten implementiert. In funktionalen und listenbasierten Sprachen wird ein String als Liste (von Zeichencodes) dargestellt; daher können alle Listenmanipulationsprozeduren als String-Funktionen betrachtet werden. Allerdings implementieren solche Sprachen mitunter auch eine Teilmenge expliziter, stringspezifischer Funktionen.
Für Funktionen, die Zeichenketten bearbeiten, verwenden moderne objektorientierte Sprachen wie C# und Java unveränderliche Zeichenketten und geben eine Kopie (im neu zugewiesenen dynamischen Speicher) zurück. Andere Sprachen wie C bearbeiten hingegen die Originalzeichenkette, sofern der Programmierer die Daten nicht in eine neue Zeichenkette kopiert. Siehe beispielsweise die Verkettung weiter unten.
Das einfachste Beispiel für eine String-Funktion ist die length(string)Funktion. Diese Funktion gibt die Länge eines String-Literals zurück .
- z.B.
length("hello world")würde 11 zurückgeben.
Andere Programmiersprachen verfügen möglicherweise über Stringfunktionen mit ähnlicher oder sogar identischer Syntax, Parametern oder Ergebnissen. Beispielsweise wird die Längenfunktion in vielen Sprachen üblicherweise als `len(string)` dargestellt . Die folgende Liste gängiger Funktionen soll dazu beitragen, diese Verwirrung zu minimieren.
Häufig verwendete Stringfunktionen (mehrsprachige Referenz)
Nachfolgend sind die in vielen Programmiersprachen üblichen Stringfunktionen inklusive ihrer verschiedenen Bezeichnungen aufgeführt. Diese Liste soll Programmierern helfen, die entsprechende Funktion in ihrer Sprache zu finden. Stringverkettung und reguläre Ausdrücke werden auf separaten Seiten behandelt. Anweisungen in Guillemets („…“) sind optional. [ 1 ]
CharAt
| Definition | charAt(string,integer)Gibt ein Zeichen zurück. |
|---|---|
| Beschreibung | Gibt das Zeichen an der entsprechenden Indexposition in der Zeichenkette zurück. |
| Äquivalent | Siehe Teilzeichenkette der Länge 1 Zeichen. |
| Format | Sprachen | Basisindex |
|---|---|---|
string[i] | ALGOL 68 , APL , Julia , Pascal , Object Pascal ( Delphi ), Seed7 | 1 |
string[i] | C , C++ , C# , Cobra , D , FreeBASIC , Go , Python , [ 2 ] PHP , Ruby , [ 2 ] Windows PowerShell , JavaScript , APL | 0 |
string{i} | PHP (veraltet in Version 5.3) | 0 |
string(i) | Ada | ≥1 |
Mid(string,i,1) | VB | 1 |
MID$(string,i,1) | BASIC | 1 |
string.Chars(i) | VB.NET | 0 |
string(i:i) | Fortran | 1 |
string.charAt(i) | Java , JavaScript | 0 |
string.[i] | OCaml , F# | 0 |
string.chars().nth(i) | Rust [ 3 ] | 0 |
string[i,1] | Wählen Sie die Basisversion | 1 |
String.sub (string, i) | Standard ML | 0 |
string !! i | Haskell | 0 |
(string-ref stringi) | Schema | 0 |
(char stringi) | Common Lisp | 0 |
(elt stringi) | ISLISP | 0 |
(get stringi) | Clojure | 0 |
substr(string, i, 1) | Perl 5 [ 2 ] | 0 |
substr(string, i, 1)string.substr(i, 1) | Raku [ 4 ] | 0 |
substr(string, i, 1) | PL/I | 1 |
substr(string, i, 1) | REXX | 1 |
string.at(i) | C++ (STL) (mit Bereichsprüfung) | 0 |
lists:nth(i, string) | Erlang | 1 |
[string characterAtIndex:i] | Objective-C ( NSString *nur) | 0 |
string.sub(string, i, i)(string):sub(i, i) | Lua [ 2 ] | 1 |
string at: i | Smalltalk (mit Bereichsprüfung) | 1 |
string index string i | Tcl | 0 |
StringTake[string, {i}] | Mathematica , Wolfram Language [ 2 ] | 1 |
string@i | Eiffel | 1 |
string (i:1) | COBOL | 1 |
${string_param:i:1} | Bash | 0 |
i⌷string | APL | 0 oder 1 |
{ Beispiel in Pascal } var MyStr : string = 'Hello, World' ; MyChar : Char ; begin MyChar := MyStr [ 2 ] ; // 'e'# Beispiel in ALGOL 68 # "Hallo Welt"[2]; // 'e'
// Beispiel in C #include <stdio.h>char myStr1 [] = "Hello, World" ; printf ( "%c" , * ( myStr1 + 1 )); // 'e' printf ( "%c" , * ( myStr1 + 7 )); // 'W' printf ( "%c" , myStr1 [ 11 ]); // 'd' printf ( "%s" , myStr1 ); // 'Hello, World' printf ( "%s" , "Hello(2), World(2)" ); // 'Hello(2), World(2)'import std ;using std :: string ;char myStr1 [] = "Hello(1), World(1)" ; string myStr2 = "Hello(2), World(2)" ; std :: println ( "Hello(3), World(3)" ); // 'Hello(3 ) , World(3)' std :: println ( " {}" , myStr2 [ 6 ]); // '2' std :: println ( "{}" , myStr1.substr ( 5 , 3 )); // '(1)'// Beispiel in C# "Hello, World" [ 2 ]; // 'l'# Beispiel in Perl 5 substr ( "Hello, World" , 1 , 1 ); # 'e'# Beispiele in Python "Hello, World" [ 2 ] # 'l' "Hello, World" [ - 3 ] # 'r'# Beispiel in Raku "Hello, World" . substr ( 1 , 1 ); # 'e'' Beispiel in Visual Basic Mid ( "Hello, World" , 2 , 1 )' Beispiel 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 (integer result)
| Definition | compare(string1,string2) returns integer. |
|---|---|
| Description | Compares two strings to each other. If they are equivalent, a zero is returned. Otherwise, most of these routines will return a positive or negative result corresponding to whether string1 is lexicographically greater than, or less than, respectively, than string2. The exceptions are the Scheme and Rexx routines which return the index of the first mismatch, and Smalltalk which answer a comparison code telling how the receiver sorts relative to string parameter. |
| Format | Languages |
|---|---|
IF string1<string2 THEN -1 ELSE ABS (string1>string2) FI | ALGOL 68 |
cmp(string1, string2) | Python 2 |
(string1 > string2) - (string1 < string2) | Python |
strcmp(string1, string2) | C, PHP |
std.string.cmp(string1, string2) | D |
StrComp(string1, string2) | VB, Object Pascal (Delphi) |
string1 cmp string2 | Perl, Raku |
string1 compare: string2 | Smalltalk (Squeak, Pharo) |
string1 <=> string2 | Ruby, C++ (STL, C++20)[5] |
string1.compare(string2) | C++ (STL), Swift (Foundation) |
compare(string1, string2) | Rexx, Seed7 |
compare(string1, string2, pad) | Rexx |
CompareStr(string1, string2) | Pascal, Object Pascal (Delphi) |
string1.compareTo(string2) | Cobra, Java |
string1.CompareTo(string2) | VB .NET, C#, F# |
(compare string1string2) | Clojure |
(string= string1string2) | Common Lisp |
(string-compare string1string2p<p=p>) | Scheme (SRFI 13) |
(string= string1string2) | ISLISP |
compare string1string2 | OCaml |
String.compare (string1, string2) | Standard ML[6] |
compare string1string2 | Haskell[7] |
[string]::Compare(string1, string2) | Windows PowerShell |
[string1 compare:string2] | Objective-C (NSString * only) |
LLT(string1,string2)LLE(string1,string2)LGT(string1,string2)LGE(string1,string2) | Fortran[8] |
string1.localeCompare(string2) | JavaScript |
| Go |
string compare string1string2 | Tcl |
compare(string1,string2,count) | PL/I[9] |
string1.cmp(string2) | Rust[10] |
# 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 */; Beispiel in Scheme ( use-modules ( srfi srfi-13 )) ; gibt den Index der Nichtübereinstimmung zurück: 0 ( string-compare "hello" "world" values values values )Vergleichen (basierend auf relationalen Operatoren, boolesches Ergebnis)
| Definition | string1 OP string2OR gibt einen booleschen Wert zurück. (compare string1 string2) |
|---|---|
| Beschreibung | Vergleicht zwei Zeichenketten lexikografisch mithilfe eines relationalen Operators oder einer Funktion. Gibt ein boolesches Ergebnis zurück. |
| Format | Sprachen |
|---|---|
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann : =, <>, <, >, <= und >= | Pascal , Object Pascal ( Delphi ), OCaml , Seed7 , Standard ML , BASIC , VB , VB .NET , F# |
string1 OP string2, wobei OPjedes der folgenden Zeichen verwendet werden kann : =, /=, ≠, <, >, <=, ≤ und ≥ ; außerdem: EQ, NE, LT, LE, GE und GT | ALGOL 68 |
(stringOP? string1string2), wobei OPes sich um eines der folgenden Symbole handeln kann: =, -ci=, <, -ci<, >, -ci>, <=, -ci<=, >= und -ci>= (Operatoren, die mit ' ' beginnen, unterscheiden nicht zwischen Groß- und Kleinschreibung). -ci | Schema |
(stringOP string1string2), wobei OPes sich um eines der folgenden Elemente handeln kann: =, -ci=, <>, -ci<>, <, -ci<, >, -ci>, <=, -ci<=, >= und -ci>= (Operatoren, die mit ' -ci ' beginnen, unterscheiden nicht zwischen Groß- und Kleinschreibung). | Schema (SRFI 13) |
(stringOP string1string2), wobei OPes sich um eines der folgenden Symbole handeln kann: =, -gleich, /=, -ungleich, <, -kleiner, >, -größer, <=, -nichtgrößer, >= und -nichtkleiner (die verbalen Operatoren unterscheiden nicht zwischen Groß- und Kleinschreibung). | Common Lisp |
(stringOP string1string2), wobei OPes sich um eines der folgenden Symbole handeln kann : =, /=, <, >, <= und >= | ISLISP |
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann : =, \=, <, >, <= und >= [ 11 ] | Rexx |
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann: =, ¬=, <, >, <=, >=, ¬< und ¬> [ 12 ] | PL/I |
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann : =, /=, <, >, <= und >= | Ada |
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann: ==, /=, <, >, =< und >= | Erlang |
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann: ==, /=, <, >, <= und >= | Haskell |
string1 OP string2, wobei OPes sich um eines der folgenden Elemente handeln kann: eq , ne , lt , gt , le und ge | Perl , Raku |
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann: ==, !=, <, >, <= und >= | C++ (STL), C# , D , Go , JavaScript , Python , PHP , Ruby , Rust , [ 13 ] Swift |
string1 OP string2, wobei OPes sich um einen der folgenden Operatoren handeln kann: -eq, -ceq, -ne, -cne, -lt, -clt, -gt, -cgt, -le, -cle, -ge und -cge (Operatoren, die mit ' c ' beginnen, unterscheiden zwischen Groß- und Kleinschreibung). | Windows PowerShell |
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann: ==, ~=, <, >, <= und >= | Lua |
string1 OP string2, wobei OPes sich um eines der folgenden Zeichen handeln kann : =, ~=, <, >, <= und >= | Smalltalk |
string1 OP string2, wobei OPes sich um eines der folgenden Symbole handeln kann: ==, /=, <, >, <= und >=; Außerdem: .EQ., .NE., .LT., .LE., .GT. und .GE. | Fortran [ 14 ] |
string1 OP string2wobei OPjedes der Zeichen =, <>, <, >, <=, >= sowie entsprechende Wortformen verwendet werden können. | COBOL |
string1 OP string2wobei OPes sich um jedes der folgenden Zeichen handeln kann : ==, <>, <, >, <= und >= | Kobra |
string1 OP string2Die Syntax bietet zwar die Möglichkeit, die Zeiger auf die Zeichenketten zu vergleichen, nicht deren Inhalt. Verwenden Sie stattdessen die Funktion `Compare(integer result)`. | C , Java |
string1.METHOD(string2)Wo METHODbefindet sich eines der eq, ne, gt, lt, ge,le | Rust [ 13 ] |
% Beispiel in Erlang "hello" > "world" . % gibt false zurück# Beispiel in Raku "art" gt "painting" ; # gibt False zurück "art" lt "painting" ; # gibt True zurück# Beispiel in Windows PowerShell "hello" -gt "world" # gibt false zurück;; Beispiel in Common Lisp ( string> "art" "painting" ) ; gibt nil zurück ( string< "art" "painting" ) ; gibt einen Wert ungleich nil zurückVerkettung
| Definition | concatenate(string1,string2)Gibt eine Zeichenkette zurück. |
|---|---|
| Beschreibung | Verkettet zwei Zeichenketten miteinander und gibt die resultierende Zeichenkette zurück. In manchen Sprachen wie C sind Zeichenketten veränderbar; dort wird die zweite Zeichenkette an die erste angehängt und die veränderte Zeichenkette zurückgegeben. |
| Format | Sprachen |
|---|---|
string1adjacent_tostring2 | Rexx (Widerlager, gleichbedeutend mit ) string1 || string2 |
string1whitespacestring2 | Rexx (entspricht ) string1 || ' ' || string2 |
string1 & string2 | Ada , FreeBASIC , Seed7 , BASIC , VB , VB .NET , COBOL (nur zwischen Literalen) |
strcat(string1, string2) | C , C++ ( nur) [ 15 ]char* |
string1 . string2 | Perl , PHP |
string1 + string2 | ALGOL 68 , C++ (STL), C# , Cobra , FreeBASIC , Go , Pascal , Object Pascal ( Delphi ), Java , JavaScript , Windows PowerShell , Python , Ruby , Rust , [ 16 ] F# , Swift , Turing , VB |
string1 ~ string2 | D , Raku |
(string-append string1string2) | Schema , ISLISP |
(concatenate 'string string1string2) | Common Lisp |
(str string1string2) | Clojure |
string1 || string2 | Rexx , SQL , PL/I |
string1 // string2 | Fortran |
string1 ++ string2 | Erlang , Haskell |
string1 ^ string2 | OCaml , Standard ML , F# |
[string1 stringByAppendingString:string2] | Objective-C ( NSString *nur) |
string1 .. string2 | Lua |
string1 , string2 | Smalltalk , APL |
string1string2 | SNOBOL |
string1string2 | Bash |
string1 <> string2 | Mathematica |
| Zeichenkette 1 Zeichenkette 2 verketten | Tcl |
{ Beispiel in Pascal } 'abc' + 'def' ; // gibt "abcdef" zurück// Beispiel in C# "abc" + "def" ; // gibt "abcdef" zurück' Beispiel in Visual Basic "abc" & "def" ' gibt "abcdef" zurück "abc" "abc" + "def" ' gibt "abcdef" zurück "abc" & Null ' gibt "abc" zurück "abc" "abc" + Null ' gibt Null zurück// Beispiel in D "abc" ~ "def" ; // gibt "abcdef" zurück;; Beispiel in Common Lisp ( concatenate 'string "abc " "def " "ghi" ) ; gibt "abc def ghi" zurück# Beispiel in Perl 5 "abc" . "def" ; # gibt "abcdef" zurück "Perl" . 5 ; # gibt "Perl 5" zurück/* Beispiel in PL/I */ "abc" || "def" /* gibt "abcdef" zurück */# Beispiel in Raku "abc" ~ "def" ; # gibt "abcdef" zurück "Perl" ~ 6 ; # gibt "Perl 6" zurück/* Beispiel in Rexx */ "Strike" 2 /* gibt "Strike2" zurück */ "Strike" 2 /* gibt "Strike 2" zurück */Enthält
| Definition | contains(string,substring)gibt einen booleschen Wert zurück |
|---|---|
| Beschreibung | Gibt zurück, ob eine Zeichenkette eine Teilzeichenkette enthält . Dies entspricht der Verwendung der Funktion „Suchen“ und der anschließenden Prüfung, ob die in der dritten Spalte des Abschnitts „Suchen“ aufgeführte Fehlerbedingung nicht erfüllt ist. Einige Programmiersprachen bieten jedoch eine einfachere Möglichkeit, diesen Test auszudrücken. |
| Verwandt | Finden |
| Format | Sprachen |
|---|---|
string_in_string(string, loc int, substring) | ALGOL 68 |
ContainsStr(string, substring) | Object Pascal ( Delphi ) |
strstr(string, substring) != NULL | C , C++ ( char *nur) |
string.Contains(substring) | C# , VB.NET , Windows PowerShell , F# |
string.contains(substring) | Cobra , Java (1.5+), Raku , Rust , [ 17 ] C++ ( C++23 ) [ 18 ] |
string.indexOf(substring) >= 0 | JavaScript |
strpos(string, substring) !== false | PHP |
str_contains(string, substring) | PHP (8+) |
pos(string, substring) <> 0 | Seed7 |
substring in string | Cobra , Python (2.3+) |
string.find(string, substring) ~= nil | Lua |
string.include?(substring) | Rubin |
Data.List.isInfixOf substringstring | Haskell ( GHC 6.6+) |
string includesSubstring: substring | Smalltalk ( Squeak , Pharo , Smalltalk/X ) |
String.isSubstring substringstring | Standard ML |
(search substringstring) | Common Lisp |
| ISLISP |
(substring? substringstring) | Clojure |
! StringFreeQ[string, substring] | Mathematica |
index(string, substring, startpos)>0 | Fortran, PL/I [ 19 ] |
index(string, substring, occurrence)>0 | Wählen Sie die Basisversion |
strings.Contains(string, substring) | Gehen |
string.find(substring) != string::npos | C++ |
[string containsString:substring] | Objective-C ( NSString *nur, iOS 8+/OS X 10.10+) |
string.rangeOfString(substring) != nil | Swift (Foundation) |
∨/substring⍷string | APL |
¢ Beispiel in ALGOL 68 ¢ string in string("e", loc int , "Hello mate"); ¢ gibt true zurück ¢ string in string("z", loc int , "word"); ¢ gibt false zurück ¢
// Beispiel in C# "Hello mate" . Contains ( "e" ); // gibt true zurück "word" . Contains ( "z" ); // gibt false zurück# Beispiel in Python "e" in "Hello mate" # gibt true zurück "z" in "word" # gibt false zurück# Beispiel in Raku "Good morning!" . contains ( 'z' ) # gibt False zurück "¡Buenos días!" . contains ( 'í' ); # gibt True zurück" Beispiel in Smalltalk " 'Hallo Kumpel' includesSubstring: 'e' " gibt true zurück " ' Wort ' includesSubstring: 'z' " gibt false zurückGleichwertigkeit
Prüft, ob zwei Zeichenketten gleich sind. Siehe auch #Compare und #Compare . Gleichheitsprüfungen mit einem generischen Compare und einem ganzzahligen Ergebnis sind nicht nur verwirrend für den Programmierer, sondern oft auch deutlich aufwändiger; dies gilt insbesondere bei der Verwendung von „ C-Zeichenketten “.
| Format | Sprachen |
|---|---|
string1 == string2 | Python , C++ (STL), C# , Cobra , Go , JavaScript (Ähnlichkeit), PHP (Ähnlichkeit), Ruby , Rust , [ 13 ] Erlang , Haskell , Lua , D , Mathematica , Swift |
string1 === string2 | JavaScript , PHP |
string1 == string2string1 .EQ. string2 | Fortran |
strcmp(string1, string2) == 0 | C |
(string=? string1string2) | Schema |
(string= string1string2) | Common Lisp , ISLISP |
string1 = string2 | ALGOL 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 ] | Bourne-Muschel |
string1 eq string2 | Perl , Raku , Tcl |
string1.equals(string2) | Cobra , Java |
string1.Equals(string2) | C# |
string1 -eq string2[string]::Equals(string1, string2) | Windows PowerShell |
[string1 isEqualToString:string2][string1 isEqual:string2] | Objective-C ( NSString *nur) |
string1 ≡ string2 | APL |
string1.eq(string2) | Rust [ 13 ] |
// Beispiel in C# "hello" == "world" // gibt false zurück' Beispiel in Visual Basic "hello" = "world" ' gibt false zurück# Beispiele in Perl 5 'hello' eq 'world' # gibt 0 zurück 'hello' eq 'hello' # gibt 1 zurück# Beispiele in Raku 'hello' eq 'world' # gibt False zurück 'hello' eq 'hello' # gibt True zurück# Beispiel in Windows PowerShell "hello" -eq "world" # gibt false zurück⍝ Beispiel in APL: 'hello' ≡ 'world' ⍝ gibt 0 zurückFinden
| Definition | find(string,substring)Gibt eine ganze Zahl zurück |
|---|---|
| Beschreibung | Gibt die Position des ersten Vorkommens der Teilzeichenkette in der Zeichenkette zurück . Wird die Teilzeichenkette nicht gefunden, geben die meisten dieser Funktionen einen ungültigen Indexwert zurück – -1 bei nullbasierter Indizierung, 0 bei einsbasierter Indizierung – oder einen Wert, der als boolescher Wert FALSE interpretiert wird. |
| Verwandt | instrrev |
| Format | Sprachen | Falls nicht gefunden |
|---|---|---|
string in string(substring, pos, string[startpos:]) | ALGOL 68 | Gibt BOOL zurück: TRUE oder FALSE, und die Position in REF INT pos. |
InStr(«startpos,»string,substring) | VB (Positionen beginnen bei 1) | gibt 0 zurück |
INSTR$(string,substring) | BASIS (Positionen beginnen bei 1) | gibt 0 zurück |
index(string,substring) | AWK | gibt 0 zurück |
index(string,substring«,startpos») | Perl 5 | Rückgabewert −1 |
index(string,substring«,startpos»)string.index(substring,«,startpos») | Raku | Gibt Null zurück |
instr(«startpos,»string,substring) | FreeBASIC | gibt 0 zurück |
strpos(string,substring«,startpos») | PHP | gibt FALSCH zurück |
locate(string, substring) | Ingres | Gibt die Zeichenkettenlänge + 1 zurück |
strstr(string, substring) | C , C++ ( nur, gibt einen Zeiger auf das erste Zeichen zurück) char* | Gibt NULL zurück |
std.string.indexOf(string, substring) | D | Rückgabewert −1 |
pos(string, substring«, startpos») | Seed7 | gibt 0 zurück |
strings.Index(string, substring) | Gehen | Rückgabewert −1 |
pos(substring, string) | Pascal , Object Pascal ( Delphi ) | gibt 0 zurück |
pos(substring, string«,startpos») | Rexx | gibt 0 zurück |
string.find(substring«,startpos») | C++ (STL) | gibt std::string::npos zurück |
string.find(substring«,startpos«,endpos»») | Python | Rückgabewert −1 |
string.index(substring«,startpos«,endpos»») | löst ValueError aus | |
string.index(substring«,startpos») | Rubin | gibt nil zurück |
string.indexOf(substring«,startpos») | Java , JavaScript | Rückgabewert −1 |
string.IndexOf(substring«,startpos«, charcount»») | VB .NET , C# , Windows PowerShell , F# | Rückgabewert −1 |
string:str(string, substring) | Erlang | gibt 0 zurück |
(string-contains stringsubstring) | Schema (SRFI 13) | Gibt #f zurück |
(search substringstring) | Common Lisp | Rückgabewert: NIL |
(string-index substringstring) | ISLISP | Rückgabennil |
List.findIndex (List.isPrefixOf substring) (List.tails string) | Haskell (gibt nur den Index zurück ) | Gibt nichts zurück |
Str.search_forward (Str.regexp_string substring) string 0 | OCaml | löst Not_found aus |
Substring.size (#1 (Substring.position substring (Substring.full string))) | Standard ML | Gibt die Länge der Zeichenkette zurück |
[string rangeOfString:substring].location | Objective-C ( NSString *nur) | gibt NSNotFound zurück |
string.find(string, substring)(string):find(substring) | Lua | gibt nil zurück |
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlockstring findString: substring startingAt: startpos | Smalltalk ( Squeak , Pharo ) | Die Auswertung eines Blocks, der eine Block-Closure (oder ein beliebiges Objekt mit Wertverständnis) ist, gibt 0 zurück. |
startpos = INDEX(string, substring «,back» «, kind») | Fortran | Gibt 0 zurück, wenn die Teilzeichenkette nicht in der Zeichenkette enthalten ist; gibt LEN(Zeichenkette)+1 zurück, wenn die Teilzeichenkette leer ist. |
POSITION(substring IN string) | SQL | Gibt 0 zurück (Positionen beginnen bei 1) |
index(string, substring, startpos ) | PL/I [ 19 ] | Gibt 0 zurück (Positionen beginnen bei 1) |
index(string, substring, occurrence ) | Wählen Sie die Basisversion | Gibt 0 zurück, wenn die Teilzeichenkette nicht in der Zeichenkette vorkommt; (Positionen beginnen bei 1) |
string.indexOf(substring«,startpos«, charcount»») | Kobra | Rückgabewert −1 |
string first substring string startpos | Tcl | Rückgabewert −1 |
(substring⍷string)⍳1 | APL | Gibt 1 + die letzte Position im String zurück |
string.find(substring) | Rust [ 20 ] | RückgabenNone |
Beispiele
- Common Lisp
( Suche "e" "Hallo Kumpel" ) ; gibt 1 zurück ( Suche "z" "Wort" ) ; gibt NIL zurück
- C#
"Hello mate" . IndexOf ( "e" ); // gibt 1 zurück "Hello mate" . IndexOf ( "e" , 4 ); // gibt 9 zurück "word" . IndexOf ( "z" ); // gibt -1 zurück
- Raku
"Hallo!" . index ( 'e' ) # gibt 1 zurück "Hallo!" . index ( 'z' ) # gibt Nil zurück
- Schema
( use-modules ( srfi srfi-13 )) ( string-contains "Hello mate" "e" ) ; returns 1 ( string-contains "word" "z" ) ; returns #f
- Visual Basic
' Beispiele in InStr ( "Hello mate" , "e" ) ' gibt 2 zurück InStr ( 5 , "Hello mate" , "e" ) ' gibt 10 zurück InStr ( "word" , "z" ) ' gibt 0 zurück
- Smalltalk
'Hello mate' indexOfSubCollection: 'ate' "returns 8"
'Hello mate' indexOfSubCollection: 'late' "returns 0"
Ich ' Hallo Kumpel ' indexOfSubCollection: 'late' ifAbsent: [ 99 ] "gibt 99 zurück"
'Hallo Kumpel' indexOfSubCollection: 'late' ifAbsent: [ self error ] "löst eine Ausnahme aus"
Charakter finden
| Definition | find_character(string,char)Gibt eine ganze Zahl zurück |
|---|---|
| Beschreibung | Gibt die Position des ersten Vorkommens des Zeichens char in der Zeichenkette zurück . Wird das Zeichen nicht gefunden, geben die meisten dieser Funktionen einen ungültigen Indexwert zurück – -1 bei nullbasierter Indizierung, 0 bei einsbasierter Indizierung – oder einen Wert, der als boolescher Wert FALSE interpretiert wird. Dies lässt sich als Spezialfall von #Find mit einer Zeichenkette aus nur einem Zeichen realisieren; in vielen Sprachen ist es jedoch einfacher oder effizienter, nur ein einzelnes Zeichen zu finden. Da Zeichen und Zeichenketten in vielen Sprachen unterschiedliche Datentypen sind, ist eine solche Funktion praktisch. |
| Verwandt | finden |
| Format | Sprachen | Falls nicht gefunden |
|---|---|---|
char in string(char, pos, string[startpos:]) | ALGOL 68 | Gibt BOOL zurück : TRUE oder FALSE , und die Position in REF INT pos . |
instr(string, any char«,startpos»)(Zeichenkette, kann mehr als ein Zeichen enthalten; in diesem Fall wird die Position des ersten Auftretens eines dieser Zeichen zurückgegeben.) | FreeBASIC | gibt 0 zurück |
strchr(string,char) | C , C++ ( nur, gibt einen Zeiger auf ein Zeichen zurück) char* | Gibt NULL zurück |
std.string.find(string, dchar) | D | Rückgabewert −1 |
string.find(char«,startpos») | C++ (STL) | gibt std::string::npos zurück |
pos(string, char«, startpos») | Seed7 | gibt 0 zurück |
strings.IndexRune(string,char) | Gehen | Rückgabewert −1 |
string.indexOf(char«,startpos») | Java , JavaScript | Rückgabewert −1 |
string.IndexOf(char«,startpos«, charcount»») | VB .NET , C# , Windows PowerShell , F# | Rückgabewert −1 |
(position charstring) | Common Lisp | Rückgabewert: NIL |
(char-index charstring) | ISLISP | gibt nil zurück |
List.elemIndex charstring | Haskell (gibt zurück ) Just index | Gibt nichts zurück |
String.index stringchar | OCaml | löst Not_found aus |
position = SCAN (string, set «, back» «, kind»)position = VERIFY (string, set «, back» «, kind»)[a] | Fortran | Gibt Null zurück |
string indexOf: char ifAbsent: aBlockstring indexOf: charstring includes: char | Smalltalk | Die Auswertung, aBlockdie einen Wert BlockClosure(oder einen beliebigen Wert, der ein Objekt versteht) zurückgibt, gibt 0 zurück trueoderfalse |
index(string, char, startpos ) | PL/I [ 21 ] | Gibt 0 zurück (Positionen beginnen bei 1) |
string.index(?char) | Rubin | gibt nil zurück |
strpos(string,char,startpos) | PHP | Gibt „false“ zurück |
string.indexOf(char«,startpos«, charcount»») | Kobra | Rückgabewert −1 |
string⍳char | APL | Gibt 1 + die letzte Position im String zurück |
string.find(substring) | Rust [ 20 ] | Gibt None zurück |
// Beispiele in C# "Hello mate" . IndexOf ( 'e' ); // gibt 1 zurück "word" . IndexOf ( 'z' ) // gibt -1 zurückBeispiele in Common Lisp ( position #\e "Hello mate" ) ; gibt 1 zurück ( position #\z "word" ) ; gibt NIL zurück^a Bei einer gegebenen Zeichenmenge gibt SCAN die Position des ersten gefundenen Zeichens zurück, [ 22 ] während VERIFY die Position des ersten Zeichens zurückgibt, das nicht zur Menge gehört. [ 23 ]
Format
| Definition | format(formatstring, items)gibt eine Zeichenkette zurück |
|---|---|
| Beschreibung | Gibt die formatierte String-Darstellung eines oder mehrerer Elemente zurück. |
| Format | Sprachen | Formatzeichenfolgensyntax |
|---|---|---|
associate(file, string); putf(file, $formatstring$, items) | ALGOL 68 | ALGOL |
Format(item, formatstring) | VB | |
sprintf(formatstring, items) | Perl , PHP , Raku , Ruby | C |
item.fmt(formatstring) | Raku | C |
io_lib:format(formatstring, items) | Erlang | |
sprintf(outputstring, formatstring, items) | C | C |
std::format(formatstring, items) | C++ ( C++20 ) | Python |
std.string.format(formatstring, items) | D | C |
Format(formatstring, items) | Object Pascal ( Delphi ) | |
fmt.Sprintf(formatstring, items) | Gehen | C |
printfformatstringitems | Unix | C |
formatstring % (items) | Python , Ruby | C |
formatstring.format(items) | Python | .NETTO |
fformatstring | Python 3 | |
Printf.sprintf formatstring[ 24 ]items | OCaml , F# | C |
Text.Printf.printf formatstringitems | Haskell ( GHC ) | C |
formatstring printf: items | Smalltalk | C |
String.format(formatstring, items) | Java | C |
String.Format(formatstring, items) | VB .NET , C# , F# | .NETTO |
(format formatstringitems) | Schema (SRFI 28) | Lispeln |
(format nil formatstringitems) | Common Lisp | Lispeln |
(format formatstringitems) | Clojure | Lispeln |
formatstring -f items | Windows PowerShell | .NETTO |
[NSString stringWithFormat:formatstring, items] | Objective-C ( NSString *nur) | C |
String(format:formatstring, items) | Swift (Foundation) | C |
string.format(formatstring, items)(formatstring):format(items) | Lua | C |
WRITE (outputstring, formatstring) items | Fortran | Fortran |
put string(string) edit(items)(format) | PL/I | PL/I (ähnlich wie Fortran) |
String.format(formatstring, items) | Kobra | .NETTO |
format formatstring items | Tcl | C |
formatnumbers ⍕ itemsformatstring ⎕FMT items | APL | APL |
format!(formatstring, items) | Rost [ 25 ] | Python |
// Beispiel in C# String.Format ( "Mein {0} kostet { 1:C2}" , "Stift" , 19.99 ); // gibt "Mein Stift kostet 19,99 $" zurück// Beispiel in Object Pascal (Delphi) Format ( 'Mein %s kostet $%2f' , [ 'pen' , 1 9.99 ]) ; // gibt zurück: "Mein Stift kostet $19.99"// Beispiel in Java String.format ( "Mein %s kostet $%2f" , "Stift" , 19.99 ); // gibt " Mein Stift kostet $19.99" zurück# Beispiele in Raku sprintf "Mein %s kostet \$%.2f" , "Stift" , 19.99 ; # gibt "Mein Stift kostet $19.99" zurück 1 . fmt ( "%04d" ); # gibt "0001" zurück# Beispiel in Python "Mein %s kostet $ %.2f " % ( "pen" , 19.99 ); # gibt zurück "Mein Stift kostet $19.99" "Mein {0} kostet $ {1:.2f} " . format ( "pen" , 19.99 ); # gibt zurück "Mein Stift kostet $19.99"#Beispiel in Python 3.6+ pen = "pen" f "Mein { pen } kostet { 19.99 } " #gibt "Mein Stift kostet 19.99" zurückBeispiel in Scheme ( format "Mein ~a kostet $~1,2F" "Stift" 19.99 ) ; gibt "Mein Stift kostet $19.99" zurück/* Beispiel in PL/I */ put string ( some_string ) edit ( 'Mein ' , 'Stift' , ' kostet' , 19.99 )( a , a , a , p '$$$V.99' ) /* gibt "Mein Stift kostet $19.99" zurück */Ungleichheit
Prüft, ob zwei Zeichenketten ungleich sind. Siehe auch #Equality .
| Format | Sprachen |
|---|---|
string1nestring2string1 NE string2 | ALGOL 68 – Der Operator " ne " wird in Fettdruck dargestellt . |
string1 /= string2 | ALGOL 68 , Ada , Erlang , Fortran , Haskell |
string1 <> string2 | BASIC , VB , VB .NET , Pascal , Object Pascal ( Delphi ), OCaml , PHP , Seed7 , Standard ML , F# , COBOL , Cobra , Python 2 (veraltet) |
string1 # string2 | BASIC (einige Implementierungen) |
string1 ne string2 | Perl , Raku |
(string<> string1string2) | Schema (SRFI 13) |
(string/= string1string2) | Common Lisp |
(string/= string1string2) | ISLISP |
(not= string1string2) | Clojure |
string1 != string2 | C++ (STL), C# , Go , JavaScript (nicht ähnlich), PHP (nicht ähnlich), Python , Ruby , Rust , [ 13 ] Swift , D , Mathematica |
string1 !== string2 | JavaScript , PHP |
string1 \= string2 | Rexx |
string1 ¬= string2 | PL/I |
test string1 != string2[ string1 != string2 ] | Bourne-Muschel |
string1 -ne string2 | Windows PowerShell |
string1 ~= string2 | Lua , Smalltalk |
string1 ≢ string2 | APL |
string1.ne(string2) | Rust [ 13 ] |
// Beispiel in C# "hello" != "world" // gibt true zurück' Beispiel in Visual Basic "hello" <> "world" ' gibt true zurück;; Beispiel in Clojure ( not= "hello" "world" ) ; ⇒ true# Beispiel in Perl 5 'hello' ne 'world' # gibt 1 zurück# Beispiel in Raku 'hello' ne 'world' # gibt True zurück# Beispiel in Windows PowerShell "hello" -ne "world" # gibt true zurückIndex
siehe #Finden
Index von
siehe #Finden
Instr
siehe #Finden
instrrev
siehe #rfind
verbinden
| Definition | join(separator, list_of_strings)Gibt eine Liste von Zeichenketten zurück, die durch ein Trennzeichen verbunden sind. |
|---|---|
| Beschreibung | Verbindet die Liste der Zeichenketten zu einer neuen Zeichenkette, wobei die Trennzeichenkette zwischen den einzelnen Teilzeichenketten eingefügt wird. Gegenteil von split . |
| Verwandt | sprintf |
| Format | Sprachen |
|---|---|
std.string.join(array_of_strings, separator) | D |
string:join(list_of_strings, separator) | Erlang |
join(separator, list_of_strings) | Perl , PHP , Raku |
implode(separator, array_of_strings) | PHP |
separator.join(sequence_of_strings) | Python , Swift 1.x |
array_of_strings.join(separator) | Ruby , JavaScript , Raku , Rust [ 26 ] |
(string-join array_of_stringsseparator) | Schema (SRFI 13) |
(format nil "~{~a~^separator~}" array_of_strings) | Common Lisp |
(clojure.string/join separatorlist_of_strings)(apply str (interpose separatorlist_of_strings)) | Clojure |
strings.Join(array_of_strings, separator) | Gehen |
join(array_of_strings, separator) | Seed7 |
String.concat separatorlist_of_strings | OCaml |
String.concatWith separatorlist_of_strings | Standard ML |
Data.List.intercalate separatorlist_of_strings | Haskell ( GHC 6.8+) |
Join(array_of_strings, separator) | VB |
String.Join(separator, array_of_strings) | VB .NET , C# , F# |
String.join(separator, array_of_strings) | Java 8+ |
&{$OFS=$separator; "$array_of_strings"}array_of_strings -join separator | Windows PowerShell |
[array_of_strings componentsJoinedByString:separator] | Objective-C ( NSString *nur) |
table.concat(table_of_strings, separator) | Lua |
collectionOfAnything joinUsing: separator | Smalltalk ( Squeak , Pharo ) |
array_of_strings.join(separator«, final_separator») | Kobra |
sequence_of_strings.joinWithSeparator(separator) | Swift 2.x |
1↓∊separator,¨list_of_strings | APL |
// Beispiel in C# String.Join ( "-" , { "a" , "b" , "c" }) // "abc"" Beispiel in Smalltalk " #( 'a' 'b' 'c' ) joinUsing: '-' " 'abc' "# Beispiel in Perl 5 join ( '-' , ( 'a' , 'b' , 'c' )); # 'abc'# Beispiel in Raku <ab c> . join ( '-' ); # 'abc'# Beispiel in Python "-" . join ([ "a" , "b" , "c" ]) # 'abc'# Beispiel in Ruby [ "a" , "b" , "c" ] .join ( "-" ) # 'abc'; Beispiel in Scheme ( use-modules ( srfi srfi-13 )) ( string-join ' ( "a" "b" "c" ) "-" ) ; "abc"letzter Index von
siehe #rfind
links
| Definition | left(string,n)gibt eine Zeichenkette zurück |
|---|---|
| Beschreibung | Gibt die ersten n Teile einer Zeichenkette zurück. Ist n größer als die Länge der Zeichenkette, geben die meisten Implementierungen die gesamte Zeichenkette zurück (Ausnahmen sind möglich – siehe Codebeispiele). Bei Kodierungen variabler Länge wie UTF-8 , UTF-16 oder Shift-JIS kann es erforderlich sein, die letzten Zeichenkettenpositionen zu entfernen, um ungültige Zeichenketten zu vermeiden. |
| Format | Sprachen |
|---|---|
| Ada |
substr(string, 0, n) | AWK (ändert Zeichenketten), Perl , PHP , Raku |
LEFT$(string,n) | BASIC , VB |
left(string,n) | VB , FreeBASIC , Ingres , Pick Basic |
strncpy(string2, string, n) | C-Standardbibliothek |
string.substr(0,n) | C++ (STL), Raku |
[string substringToIndex:n] | Objective-C ( NSString *nur) |
| Clojure |
string[0 .. n] | D [ 27 ] |
string:substr(string, start, length) | Erlang |
(subseq string 0 n) | Common Lisp |
string[:n] | Cobra , Go , Python |
left(string,n «,padchar») | Rexx , Erlang |
string[0, n]string[0..n - 1] | Rubin |
string[1, n] | Wählen Sie die Basisversion |
string[ .. n] | Seed7 |
string.Substring(0,n) | VB .NET , C# , Windows PowerShell , F# |
leftstr(string, n) | Pascal , Object Pascal ( Delphi ) |
copy (string,1,n) | Turbo Pascal |
string.substring(0,n) | Java , [ 28 ] JavaScript |
(string-take stringn) | Schema (SRFI 13) |
take nstring | Haskell |
String.extract (string, n, NONE) | Standard ML |
String.sub string 0 n | OCaml [ 29 ] |
string.[..n] | F# |
string.sub(string, 1, n)(string):sub(1, n) | Lua |
string first: n | Smalltalk ( Squeak , Pharo ) |
string(:n) | Fortran |
StringTake[string, n] | Mathematica [ 30 ] |
string («FUNCTION» LENGTH(string) - n:n) | COBOL |
string.substring(0, n) | Kobra |
n↑string. | APL |
string[0..n]string[..n]string.get(0..n)string.get(..n) | Rust [ 31 ] |
# Beispiel in Raku "Hallo!" . substr ( 0 , 6 ); # gibt "Hallo," zurück/* Beispiele in Rexx */ left ( "abcde" , 3 ) /* gibt "abc" zurück */ left ( "abcde" , 8 ) /* gibt "abcde" zurück */ left ( "abcde" , 8 , "*" ) /* gibt "abcde***" zurück */Beispiele in Scheme ( use-modules ( srfi srfi-13 )) ( string-take "abcde" , 3 ) ; gibt "abc" zurück ( string-take "abcde" , 8 ) ; Fehler' Beispiele in Visual Basic Left ( "sandroguidi" , 3 ) ' gibt "san" zurück Left ( "sandroguidi" , 100 ) ' gibt "sandroguidi" zurücklen
siehe #Länge
Länge
| Definition | length(string)gibt eine ganze Zahl zurück |
|---|---|
| Beschreibung | Gibt die Länge einer Zeichenkette zurück (ohne Nullbyte und sonstige interne Strukturinformationen). Eine leere Zeichenkette hat die Länge 0. |
| Format | Rücksendungen | Sprachen |
|---|---|---|
string'Length | | Ada |
UPB string | | ALGOL 68 |
echo "${#string_param}" | | Bash |
length(string) | | Ingres , Perl 5, Pascal , Object Pascal ( Delphi ), Rexx , Seed7 , SQL , PL/I |
len(string) | | BASIC , FreeBASIC , Python , Go , Pick Basic |
length(string), string:len(string) | | Erlang |
Len(string) | | VB , Pick Basic |
string.Length | Anzahl der UTF-16- Codeeinheiten | VB .NET , C# , Windows PowerShell , F# |
chars(string)string.chars | Anzahl der Grapheme (NFG) | Raku |
codes(string)string.codes | Anzahl der Unicode-Codepunkte | Raku |
string.size OR string.length | Anzahl der Bytes [ 32 ] | Rubin |
strlen(string) | Anzahl der Bytes | C , PHP |
string.length() | | C++ (STL) |
string.length | | Cobra , D , JavaScript |
string.length() | Anzahl der UTF-16- Codeeinheiten | Java |
(string-length string) | | Schema |
(length string) | | Common Lisp , ISLISP |
(count string) | | Clojure |
String.length string | | OCaml |
size string | | Standard ML |
length string | Anzahl der Unicode-Codepunkte | Haskell |
string.length | Anzahl der UTF-16- Codeeinheiten | Objective-C ( NSString *nur) |
string.characters.count | Anzahl der Zeichen | Swift (2.x) |
count(string) | Anzahl der Zeichen | Swift (1.2) |
countElements(string) | Anzahl der Zeichen | Swift (1.0–1.1) |
string.len(string)(string):len()#string | | Lua |
string size | | Smalltalk |
LEN(string)LEN_TRIM(string) | | Fortran |
StringLength[string] | | Mathematica |
«FUNCTION» LENGTH(string)oder
| Anzahl der Zeichen bzw. Anzahl der Bytes | COBOL |
string length string | eine Dezimalzeichenkette, die die Anzahl der Zeichen angibt | Tcl |
≢ string | APL | |
string.len() | Anzahl der Bytes | Rost [ 33 ] |
string.chars().count() | Anzahl der Unicode-Codepunkte | Rost [ 34 ] |
// Beispiele in C# "hello" . Length ; // gibt 5 zurück "" . Length ; // gibt 0 zurück# Beispiele in Erlang string : len ( "hello" ). % gibt 5 zurück string : len ( "" ). % gibt 0 zurück# Beispiele in Perl 5 length ( "hello" ); # gibt 5 zurück length ( "" ); # gibt 0 zurück# Beispiele in Raku "" . chars ; chars "" ; # beide geben 0 zurück "" . codes ; codes "" ; # beide geben 0 zurück' Beispiele in Visual Basic Len ( "hello" ) ' gibt 5 zurück Len ( "" ) ' gibt 0 zurück//Beispiele in Objective-C [ @"hello" Länge ] //gibt 5 zurück [ @"" Länge ] //gibt 0 zurück-- Beispiele in Lua ( "hello" ): len () -- gibt 5 zurück # "" -- gibt 0 zurücklokalisieren
siehe #Finden
Kleinbuchstaben
| Definition | lowercase(string)gibt eine Zeichenkette zurück |
|---|---|
| Beschreibung | Gibt die Zeichenkette in Kleinbuchstaben zurück. |
| Format | Sprachen |
|---|---|
LCase(string) | VB |
lcase(string) | FreeBASIC |
lc(string) | Perl , Raku |
string.lc | Raku |
tolower(char) | C [ 35 ] |
std.string.toLower(string) | D |
transform(string.begin(), string.end(), result.begin(), ::tolower)[ 36 ] | C++ [ 37 ] |
lowercase(string) | Object Pascal ( Delphi ) |
strtolower(string) | PHP |
lower(string) | Seed7 |
${string_param,,} | Bash |
echo "string" | tr 'A-Z' 'a-z' | Unix |
string.lower() | Python |
downcase(string) | Wählen Sie die Basisversion |
string.downcase | Ruby [ 38 ] |
strings.ToLower(string) | Gehen |
(string-downcase string) | Scheme (R6RS), Common Lisp |
(lower-case string) | Clojure |
String.lowercase string | OCaml |
String.map Char.toLower string | Standard ML |
map Char.toLower string | Haskell |
string.toLowerCase() | Java , JavaScript |
to_lower(string) | Erlang |
string.ToLower() | VB .NET , C# , Windows PowerShell , F# |
string.lowercaseString | Objective-C ( NSString *nur), Swift (Foundation) |
string.lower(string)(string):lower() | Lua |
string asLowercase | Smalltalk |
LOWER(string) | SQL |
lowercase(string) | PL/I [ 9 ] |
ToLowerCase[string] | Mathematica |
«FUNCTION» LOWER-CASE(string) | COBOL |
string.toLower | Kobra |
string tolower string | Tcl |
string.to_lowercase() | Rost [ 39 ] |
// Beispiel in C# "Wiki bedeutet schnell?" .ToLower (); // "Wiki bedeutet schnell? "; Beispiel in Scheme ( use-modules ( srfi srfi-13 )) ( string-downcase "Wiki means fast?" ) ; "wiki means fast?"/* Beispiel in C */ #include <ctype.h> #include <stdio.h>int main ( void ) { char s [] = "Wiki means fast?" ; for ( int i = 0 ; i < sizeof ( s ) - 1 ; ++ i ) { // Zeichen einzeln transformieren s [ i ] = tolower ( s [ i ]); } printf ( string ); // "wiki means fast?" return 0 ; }# Beispiel in Raku "Wiki bedeutet schnell?" . lc ; # "Wiki bedeutet schnell?"Mitte
siehe #Teilzeichenkette
Partition
| Definition | <string>.partition( separator ) gibt die Teilzeichenkette vor dem Trennzeichen zurück; das Trennzeichen; dann die Teilzeichenkette nach dem Trennzeichen. |
|---|---|
| Beschreibung | Teilt die angegebene Zeichenkette anhand des Trennzeichens und gibt die drei Teilzeichenketten zurück, die zusammen die ursprüngliche Zeichenkette ergeben. |
| Format | Sprachen | Kommentare |
|---|---|---|
string.partition(separator) | Python , Ruby (1.9+) | |
lists:partition(pred, string) | Erlang | |
split /(separator)/, string, 2 | Perl 5 | |
split separator, string, 2string.split( separator, 2 ) | Raku | Das Trennzeichen muss kein regulärer Ausdruck sein. |
# Beispiele 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', "", "")# Beispiele in Perl 5 / Raku split /(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');ersetzen
| Definition | replace(string, find, replace)gibt eine Zeichenkette zurück |
|---|---|
| Beschreibung | Gibt eine Zeichenkette zurück, in der die gefundenen Vorkommen durch ersetzt wurden . |
| Format | Sprachen |
|---|---|
changestr(find, string, replace) | Rexx |
std.string.replace(string, find, replace) | D |
Replace(string, find, replace) | VB |
replace(string, find, replace) | Seed7 |
change(string, find, replace) | Wählen Sie die Basisversion |
string.Replace(find, replace) | C# , F# , VB.NET |
str_replace(find, replace, string) | PHP |
re:replace(string, find, replace, «{return, list}») | Erlang |
string.replace(find, replace) | Cobra , Java (1.5+), Python , Rust [ 40 ] |
string.replaceAll(find_regex, replace)[41] | Java |
string.gsub(find, replace) | Rubin |
string =~ s/find_regex/replace/g[41] | Perl 5 |
string.subst(find, replace, :g) | Raku |
string.replace(find, replace, "g") [42]string.replace(/find_regex/g, replace)[41] | JavaScript |
echo "string" | sed 's/find_regex/replace/g'[41] | Unix |
${string_param//find_pattern/replace} | Bash |
string.replace(find, replace)string -replace find_regex, replace[41] | Windows PowerShell |
Str.global_replace (Str.regexp_string find) replacestring | OCaml |
[string stringByReplacingOccurrencesOfString:find withString:replace] | Objective-C ( NSString *nur) |
string.stringByReplacingOccurrencesOfString(find, withString:replace) | Swift (Foundation) |
string.gsub(string, find, replace)(string):gsub(find, replace) | Lua |
string copyReplaceAll: find with: replace | Smalltalk ( Squeak , Pharo ) |
string map {findreplace} string | Tcl |
StringReplace[string, find -> replace] | Mathematica |
strings.Replace(string, find, replace, -1) | Gehen |
INSPECT string REPLACING ALL/LEADING/FIRST find BY replace | COBOL |
find_regex ⎕R replace_regex ⊢ string | APL |
// Beispiele in C# "effffff" . Replace ( "f" , "jump" ); // gibt "ejumpjumpjumpjumpjumpjump" zurück "blah" . Replace ( "z" , "y" ); // gibt "blah" zurück// Beispiele in Java "effffff" . replace ( "f" , "jump" ); // gibt "ejumpjumpjumpjumpjumpjump" zurück "effffff" . replaceAll ( "f*" , "jump" ); // gibt "ejump" zurück// Beispiele in Raku "effffff" . subst ( "f" , "jump" , : g ); # gibt "ejumpjumpjumpjumpjumpjump" zurück "blah" . subst ( "z" , "y" , : g ); # gibt "blah" zurück' Beispiele in Visual Basic Ersetzen ( "effffff" , "f" , "jump" ) ' gibt "ejumpjumpjumpjumpjumpjump" zurück Ersetzen ( "blah" , "z" , "y" ) ' gibt "blah" zurück# Beispiele in Windows PowerShell "effffff" -replace "f" , "jump" # gibt "ejumpjumpjumpjumpjumpjump" zurück "effffff" -replace "f*" , "jump" # gibt "ejump" zurückumkehren
| Definition | reverse(string) |
|---|---|
| Beschreibung | Kehrt die Reihenfolge der Zeichen in der Zeichenkette um. |
| Format | Sprachen |
|---|---|
reverse string | Perl 5, Haskell |
flip stringstring.flip | Raku |
lists:reverse(string) | Erlang |
strrev(string) | PHP |
string[::-1] | Python |
(string-reverse string) | Schema (SRFI 13) |
(reverse string) | Common Lisp |
string.reverse | Ruby , D (verändert Zeichenketten) |
new StringBuilder(string).reverse().toString() | Java |
std::reverse(string.begin(), string.end()); | C++ ( std::stringnur, verändert Zeichenketten) |
StrReverse(string) | VB |
string.Reverse() | VB .NET , C# |
implode (rev (explode string)) | Standard ML |
string | JavaScript |
string.reverse(string)(string):reverse() | Lua |
string reverse | Smalltalk |
StringReverse[string] | Mathematica |
reverse(string) | PL/I |
| COBOL |
string.toCharArray.toList.reversed.join() | Kobra |
String(string.characters.reverse()) | Swift (2.x) |
String(reverse(string)) | Swift (1.2) |
string reverse string | Tcl |
⌽string | APL |
string | Rost [ 43 ] |
echo string | rev | Unix |
" Beispiel in Smalltalk " 'hello' umgekehrt " ergibt 'olleh' "# Beispiel in Perl 5 umgekehrt "hello" # gibt "olleh" zurück# Beispiel in Raku "hello" . flip # gibt "olleh" zurück# Beispiel in Python "hello" [:: - 1 ] # gibt "olleh" zurückBeispiel in Scheme ( use-modules ( srfi srfi-13 )) ( string-reverse "hello" ) ; gibt "olleh" zurückrfind
| Definition | rfind(string,substring)Gibt eine ganze Zahl zurück |
|---|---|
| Beschreibung | Gibt die Position des Beginns des letzten Vorkommens der Teilzeichenkette in der Zeichenkette zurück . Wird die Teilzeichenkette nicht gefunden, geben die meisten dieser Funktionen einen ungültigen Indexwert zurück – -1 bei nullbasierter Indizierung, 0 bei einsbasierter Indizierung – oder einen Wert, der als boolescher Wert FALSE interpretiert wird. |
| Verwandt | Instr |
| Format | Sprachen | Falls nicht gefunden |
|---|---|---|
InStrRev(«startpos,» string,substring) | VB | gibt 0 zurück |
instrrev(«startpos,» string,substring) | FreeBASIC | gibt 0 zurück |
rindex(string,substring«,startpos») | Perl 5 | Rückgabewert −1 |
rindex(string,substring«,startpos»)string.rindex(substring«,startpos») | Raku | Gibt Null zurück |
strrpos(string,substring«,startpos») | PHP | gibt FALSCH zurück |
string.rfind(substring«,startpos») | C++ (STL) | gibt std::string::npos zurück |
std.string.rfind(string, substring) | D | Rückgabewert −1 |
string.rfind(substring«,startpos«, endpos»») | Python | Rückgabewert −1 |
string.rindex(substring«,startpos«, endpos»») | löst ValueError aus | |
rpos(string, substring«,startpos») | Seed7 | gibt 0 zurück |
string.rindex(substring«,startpos») | Rubin | gibt nil zurück |
strings.LastIndex(string, substring) | Gehen | Rückgabewert −1 |
string.lastIndexOf(substring«,startpos») | Java , JavaScript | Rückgabewert −1 |
string.LastIndexOf(substring«,startpos«, charcount»») | VB .NET , C# , Windows PowerShell , F# | Rückgabewert −1 |
(search substringstring :from-end t) | Common Lisp | Rückgabewert: NIL |
[string rangeOfString:substring options:NSBackwardsSearch].location | Objective-C ( NSString *nur) | gibt NSNotFound zurück |
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1) | OCaml | löst Not_found aus |
string.match(string, '.*()'..substring)string | Lua | gibt nil zurück |
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring, Going => Ada.Strings.Backward) | Ada | gibt 0 zurück |
string.lastIndexOf(substring«,startpos«, charcount»») | Kobra | Rückgabewert −1 |
string lastIndexOfString:substring | Smalltalk | gibt 0 zurück |
string last substring string startpos | Tcl | Rückgabewert −1 |
| APL | Rückgabewert −1 |
string.rfind(substring) | Rost [ 44 ] | Gibt None zurück |
Beispiele in Common Lisp ( search "e" "Hello mate" :from-end t ) ; gibt 9 zurück ( search "z" "word" :from-end t ) ; gibt NIL zurück// Beispiele in C# "Hello mate" . LastIndexOf ( "e" ); // gibt 9 zurück "Hello mate" . LastIndexOf ( "e" , 4 ); // gibt 1 zurück "word" . LastIndexOf ( "z" ); // gibt -1 zurück# Beispiele in Perl 5 rindex ( "Hello mate" , "e" ); # gibt 9 zurück rindex ( "Hello mate" , "e" , 4 ); # gibt 1 zurück rindex ( "word" , "z" ); # gibt -1 zurück# Beispiele in Raku "Hello mate" . rindex ( "e" ); # gibt 9 zurück "Hello mate" . rindex ( "e" , 4 ); # gibt 1 zurück "word" . rindex ( 'z' ); # gibt Nil zurück' Beispiele in Visual Basic InStrRev ( "Hello mate" , "e" ) ' gibt 10 zurück InStrRev ( 5 , "Hello mate" , "e" ) ' gibt 2 zurück InStrRev ( "word" , "z" ) ' gibt 0 zurückRechts
| Definition | right(string,n)gibt eine Zeichenkette zurück |
|---|---|
| Beschreibung | Gibt den rechten n-ten Teil einer Zeichenkette zurück. Ist n größer als die Länge der Zeichenkette, geben die meisten Implementierungen die gesamte Zeichenkette zurück (Ausnahmen sind möglich – siehe Codebeispiele). |
| Format | Sprachen |
|---|---|
| Ada |
Right(string,n) | VB |
RIGHT$(string,n) | BASIC |
right(string,n) | FreeBASIC , Ingres , Pick Basic |
strcpy(string2, string+n)( n darf nicht größer als die Länge der Zeichenkette sein ) | C |
string.Substring(string.Length()-n) | C# |
string[len(string)-n:] | Gehen |
string.substring(string.length()-n) | Java |
string.slice(-n) | JavaScript [ 45 ] |
right(string,n «,padchar») | Rexx , Erlang |
substr(string,-n) | Perl 5, PHP |
substr(string,*-n)string.substr(*-n) | Raku |
string[-n:] | Cobra , Python |
${string_param: -n}(Nach dem Doppelpunkt folgt ein Leerzeichen) | Bash |
string[n] | Wählen Sie die Basisversion |
(string-take-right stringn) | Schema (SRFI 13) |
string[-n..-1] | Rubin |
string[$-n .. $] | D [ 46 ] |
String.sub string (String.length string - n) n | OCaml [ 29 ] |
string.sub(string, -n)(string):sub(-n) | Lua |
string last: n | Smalltalk ( Squeak , Pharo ) |
StringTake[string, -n] | Mathematica [ 30 ] |
string (1:n) | COBOL |
¯n↑string. | APL |
string[n..]string.get(n..) | Rust [ 31 ] |
// Beispiele in Java; die letzten 4 Zeichen extrahieren String str = "CarDoor" ; str . substring ( str . length () - 4 ); // gibt 'Door' zurück# Beispiele in Raku "abcde" . substr (*- 3 ); # gibt "cde" zurück "abcde" . substr (*- 8 ); # Fehler "Außerhalb des gültigen Bereichs"/* Beispiele in Rexx */ right ( "abcde" , 3 ) /* gibt "cde" zurück */ right ( "abcde" , 8 ) /* gibt " abcde" zurück */ right ( "abcde" , 8 , "*" ) /* gibt "***abcde" zurück */Beispiele in Scheme ( use-modules ( srfi srfi-13 )) ( string-take-right "abcde" , 3 ) ; gibt "cde" zurück ( string-take-right "abcde" , 8 ) ; Fehler' Beispiele in Visual Basic Right ( "sandroguidi" , 3 ) ' gibt "idi" zurück Right ( "sandroguidi" , 100 ) ' gibt "sandroguidi" zurückrpartition
| Definition | <string>.rpartition( separator ) Sucht innerhalb der Zeichenkette von rechts nach links nach dem Trennzeichen und gibt dann die Teilzeichenkette vor dem Trennzeichen, das Trennzeichen selbst und anschließend die Teilzeichenkette nach dem Trennzeichen zurück. |
|---|---|
| Beschreibung | Teilt die gegebene Zeichenkette am rechtesten Trennzeichen auf und gibt die drei Teilzeichenketten zurück, die zusammen die ursprüngliche Zeichenkette ergeben. |
| Format | Sprachen |
|---|---|
string.rpartition(separator) | Python , Ruby |
# Beispiele 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')Scheibe
siehe #Teilzeichenkette
Teilt
| Definition | <string>.split( separator [, limit ]) teilt eine Zeichenkette anhand des Trennzeichens, optional nur bis zu einer begrenzten Anzahl von Teilzeichenketten. |
|---|---|
| Beschreibung | Teilt die gegebene Zeichenkette anhand des Trennzeichens (selbst eine Zeichenkette) und gibt eine Liste (oder ein Array) der Teilzeichenketten zurück. Wird `limit` angegeben, wird nach dem Lesen von `limit - 1` Trennzeichen der Rest der Zeichenkette zur letzten Teilzeichenkette hinzugefügt, unabhängig davon, ob er Trennzeichen enthält. Die Implementierungen in Scheme und Erlang sind ähnlich, unterscheiden sich aber in einigen Punkten. JavaScript unterscheidet sich auch dadurch, dass es die Zeichenkette abschneidet und nicht den Rest zum letzten Element hinzufügt. Siehe das Beispiel hier . Die Cobra-Implementierung verwendet standardmäßig Leerzeichen. Gegenteil von `join` . |
| Format | Sprachen |
|---|---|
split(/separator/, string«, limit») | Perl 5 |
split(separator, string«, limit»)string.split(separator, «limit») | Raku |
explode(separator, string«, limit») | PHP |
string.split(separator«, limit-1») | Python |
string.split(separator«, limit») | JavaScript , Java , Ruby |
string:tokens(string, sepchars) | Erlang |
strings.Split(string, separator)strings.SplitN(string, separator, limit) | Gehen |
(string-tokenize string« charset« start« end»»») | Schema (SRFI 13) |
Split(string, sepchars«, limit») | VB |
string.Split(sepchars«, limit«, options»») | VB .NET , C# , F# |
string -split separator«, limit«, options»» | Windows PowerShell |
Str.split (Str.regexp_string separator) string | OCaml |
std.string.split(string, separator) | D |
[string componentsSeparatedByString:separator] | Objective-C ( NSString *nur) |
string.componentsSeparatedByString(separator) | Swift (Foundation) |
TStringList.Delimiter, TStringList.DelimitedText | Objekt Pascal |
StringSplit[string, separator«, limit»] | Mathematica |
string.split«(sepchars«, limit«, options»»)» | Kobra |
split string separator | Tcl |
(separator≠string)⊂stringin APL2 in Dyalog APL 16.0 separator(≠⊆⊢)string | APL |
string.split(separator)
| Rost [ 47 ] |
// Beispiel in C# "abc,defgh,ijk" . Split ( ',' ); // {"abc", "defgh", "ijk"} "abc,defgh;ijk" . Split ( ',' , ';' ); // {"abc", "defgh", "ijk"}% Beispiel in Erlang- String : tokens ( "abc;defgh;ijk" , ";" ). % ["abc", "defgh", "ijk"]// Beispiele in Java "abc,defgh,ijk" . split ( "," ); // {"abc", "defgh", "ijk"} "abc,defgh;ijk" . split ( ",|;" ); // {"abc", "defgh", "ijk"}{ Beispiel 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 ;# Beispiele in Perl 5 split ( /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')# Beispiele 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)sprintf
siehe #Format
Streifen
siehe #trimmen
strcmp
siehe #Vergleichen (ganzzahliges Ergebnis)
Teilzeichenkette
| Definition | substring(string, startpos, endpos)gibt eine Zeichenkette zurücksubstr(string, startpos, numChars) |
|---|---|
| Beschreibung | Gibt einen Teilstring des Strings zwischen der Position startpos und endpos zurück , oder einen Teilstring ab startpos mit der Länge numChars . Der resultierende String wird abgeschnitten, wenn nach dem Startpunkt weniger als numChars Zeichen vorhanden sind. endpos gibt den Index nach dem letzten Zeichen im Teilstring an. Bei Kodierungen variabler Länge wie UTF-8 , UTF-16 oder Shift-JIS kann es erforderlich sein, Stringpositionen am Ende zu entfernen, um ungültige Strings zu vermeiden. |
| Format | Sprachen |
|---|---|
string[startpos:endpos] | ALGOL 68 (ändert den Basisindex) |
string (startpos .. endpos) | Ada (ändert den Basisindex) |
Mid(string, startpos, numChars) | VB |
mid(string, startpos, numChars) | FreeBASIC |
string[startpos+(⍳numChars)-~⎕IO] | APL |
MID$(string, startpos, numChars) | BASIC |
substr(string, startpos, numChars) | AWK (ändert Zeichenketten), Perl 5, [ 48 ] [ 49 ] PHP [ 48 ] [ 49 ] |
substr(string, startpos, numChars)string.substr(startpos, numChars) | Raku [ 50 ] [ 51 ] |
substr(string, startpos «,numChars, padChar») | PL/I |
substr(string, startpos «,numChars, padChar») | Rexx |
string[startpos:endpos] | Cobra , Python , [ 48 ] [ 52 ] Go |
string[startpos, numChars] | Wählen Sie die Basisversion |
string[startpos, numChars]string[startpos .. endpos-1]string[startpos ... endpos] | Ruby [ 48 ] [ 52 ] |
string[startpos .. endpos]string[startpos len numChars] | Seed7 |
string.slice(startpos«, endpos») | JavaScript [ 48 ] [ 52 ] |
string.substr(startpos«, numChars») | C++ (STL), JavaScript |
string.Substring(startpos, numChars) | VB .NET , C# , Windows PowerShell , F# |
string.substring(startpos«, endpos») | Java , JavaScript |
copy(string, startpos, numChars) | Object Pascal ( Delphi ) |
(substring stringstartposendpos) | Schema |
(subseq stringstartposendpos) | Common Lisp |
(subseq stringstartposendpos) | ISLISP |
String.sub stringstartposnumChars | OCaml |
substring (string, startpos, numChars) | Standard ML |
string:sub_string(string, startpos, endpos)string:substr(string, startpos, numChars) | Erlang |
strncpy(result, string + startpos, numChars); | C |
string[startpos .. endpos+1] | D |
take numChars $ drop startposstring | Haskell |
[string substringWithRange:NSMakeRange(startpos, numChars)] | Objective-C ( NSString *nur) |
string.[startpos..endpos] | F# |
string.sub(string, startpos, endpos)(string):sub(startpos, endpos) | Lua [ 48 ] [ 52 ] |
string copyFrom: startpos to: endpos | Smalltalk |
string(startpos:endpos) | Fortran |
SUBSTRING(string FROM startpos «FOR numChars») | SQL |
StringTake[string, {startpos, endpos}] | Mathematica [ 48 ] [ 52 ] |
string (startpos:numChars) | COBOL |
${string_param:startpos:numChars} | Bash |
string range string startpos endpos | Tcl |
string[startpos..endpos]string.get(startpos..endpos) | Rust [ 31 ] |
// Beispiele in C# "abc" . Substring ( 1 , 1 ): // gibt "b" zurück "abc" . Substring ( 1 , 2 ); // gibt "bc" zurück "abc" . Substring ( 1 , 6 ); // Fehler;; Beispiele in Common Lisp ( subseq "abc" 1 2 ) ; gibt "b" zurück ( subseq "abc" 2 ) ; gibt "c" zurück% Beispiele in Erlang string : substr ( "abc" , 2 , 1 ). % gibt "b" zurück string : substr ( "abc" , 2 ). % gibt "bc" zurück# Beispiele in Perl 5 substr ( "abc" , 1 , 1 ); # gibt "b" zurück substr ( "abc" , 1 ); # gibt "bc" zurück# Beispiele in Raku "abc" . substr ( 1 , 1 ); # gibt "b" zurück "abc" . substr ( 1 ); # gibt "bc" zurück# Beispiele in Python "abc" [ 1 : 2 ] # gibt "b" zurück "abc" [ 1 : 3 ] # gibt "bc" zurück/* Beispiele in Rexx */ substr ( "abc" , 2 , 1 ) /* gibt "b" zurück */ substr ( "abc" , 2 ) /* gibt "bc" zurück */ substr ( "abc" , 2 , 6 ) /* gibt "bc" zurück */ substr ( "abc" , 2 , 6 , "*" ) /* gibt "bc****" zurück */Großbuchstaben
| Definition | uppercase(string)gibt eine Zeichenkette zurück |
|---|---|
| Beschreibung | Gibt die Zeichenkette in Großbuchstaben zurück. |
| Format | Sprachen |
|---|---|
UCase(string) | VB |
ucase(string) | FreeBASIC |
toupper(string) | AWK (ändert Zeichenketten) |
uc(string) | Perl , Raku |
string.uc | Raku |
toupper(char) | C (arbeitet mit einem Zeichen) |
| C (Zeichenkette / Zeichenarray) |
std.string.toUpper(string) | D |
transform(string.begin(), string.end(), result.begin(), toupper)[36] | C++ [ 53 ] |
uppercase(string) | Object Pascal ( Delphi ) |
upcase(char) | Object Pascal ( Delphi ) (arbeitet mit einem Zeichen) |
strtoupper(string) | PHP |
upper(string) | Seed7 |
${string_param^^}(Eselsbrücke: ^ zeigt nach oben) | Bash |
echo "string" | tr 'a-z' 'A-Z' | Unix |
translate(string)UPPER variablesPARSEUPPERVARSrcVarDstVar | Rexx |
string.upper() | Python |
upcase(string) | Wählen Sie die Basisversion |
string.upcase | Ruby [ 38 ] |
strings.ToUpper(string) | Gehen |
(string-upcase string) | Schema , Common Lisp |
String.uppercase string | OCaml |
String.map Char.toUpper string | Standard ML |
map Char.toUpper string | Haskell |
string.toUpperCase() | Java , JavaScript |
string.uppercase() | Kotlin [ 54 ] |
to_upper(string) | Erlang |
string.ToUpper() | VB .NET , C# , Windows PowerShell , F# |
string.uppercaseString | Objective-C ( NSString *nur), Swift (Foundation) |
string.upper(string)(string):upper() | Lua |
string asUppercase | Smalltalk |
UPPER(string) | SQL |
ToUpperCase[string] | Mathematica |
| COBOL |
string.toUpper | Kobra |
string toupper string | Tcl |
string.to_uppercase() | Rost [ 55 ] |
// Beispiel in C# "Wiki bedeutet schnell?" .ToUpper (); // "WIKI BEDEUTET SCHNELL? "# Beispiel in Perl 5 uc ( "Wiki bedeutet schnell?" ); # "WIKI BEDEUTET SCHNELL?"# Beispiel in Raku uc ( "Wiki bedeutet schnell?" ); # "WIKI BEDEUTET SCHNELL?" "Wiki bedeutet schnell?" . uc ; # "WIKI BEDEUTET SCHNELL?"/* Beispiel in Rexx */ translate ( "Wiki bedeutet schnell?" ) /* "WIKI BEDEUTET SCHNELL?" *//* Beispiel Nr. 2 */ A = 'Dies ist ein Beispiel.' GROSSES A /* "DIES IST EIN BEISPIEL." *//* Beispiel #3 */ A = 'upper using translate function.' Translate UPPER VAR A Z /* Z="UPPER USING TRANSLATE FUNCTION." */; Beispiel in Scheme ( use-modules ( srfi srfi-13 )) ( string-upcase "Wiki means fast?" ) ; "WIKI MEANS FAST?"' Beispiel in Visual Basic UCase ( "Wiki bedeutet schnell?" ) ' "WIKI BEDEUTET SCHNELL?"trimmen
trimoder stripwird verwendet, um Leerzeichen vom Anfang, vom Ende oder sowohl vom Anfang als auch vom Ende einer Zeichenkette zu entfernen.
| Anwendungsbeispiel | Sprachen |
|---|---|
String.Trim([chars]) | C# , VB.NET , Windows PowerShell |
string.strip(); | D |
(.trim string) | Clojure |
sequence [ predicate? ] trim | Faktor |
| Common Lisp |
(string-trim string) | Schema |
string.trim() | Java , JavaScript (1.8.1+, Firefox 3.5+), Rust [ 56 ] |
Trim(String) | Pascal , [ 57 ] QBasic , Visual Basic , Delphi |
string.strip() | Python |
strings.Trim(string, chars) | Gehen |
LTRIM(RTRIM(String)) | Oracle SQL , T-SQL |
strip(string [,option, char]) | REXX |
string:strip(string [,option, char]) | Erlang |
string.stripstring.lstripstring.rstrip | Rubin |
string.trim | Raku |
trim(string) | PHP , Raku |
[string | Objective-C mit Cocoa |
string withBlanksTrimmedstring withoutSpacesstring withoutSeparators | Smalltalk ( Squeak , Pharo ) Smalltalk |
strip(string) | SAS |
string trim $string | Tcl |
TRIM(string)TRIM(ADJUSTL(string)) | Fortran |
TRIM(string) | SQL |
TRIM(string)LTrim(string)RTrim(String) | ColdFusion |
String.trim string | OCaml 4+ |
Andere Sprachen
In Sprachen ohne eingebaute Trim-Funktion ist es in der Regel einfach, eine benutzerdefinierte Funktion zu erstellen, die die gleiche Aufgabe erfüllt.
APL
APL kann reguläre Ausdrücke direkt verwenden:
Trim ← '^ +| +$' ⎕R ''Alternativ dazu ein funktionaler Ansatz, der Boolesche Masken kombiniert, um führende und nachfolgende Leerzeichen herauszufiltern:
Trim ← { ⍵ /⍨ ( ∨ \ ∧ ∘ ⌽∨ \∘ ⌽ ) ' ' ≠ ⍵ }Oder umgekehrt und die führenden Leerzeichen zweimal entfernen:
Trim ← { ( ∨ \ ' ' ≠ ⍵ ) / ⍵ } ∘ ⌽ ⍣ 2AWK
In AWK kann man reguläre Ausdrücke zum Kürzen verwenden:
ltrim ( v ) = gsub ( /^[ \t]+/ , "" , v ) rtrim ( v ) = gsub ( /[ \t]+$/ , "" , v ) trim ( v ) = ltrim ( v ); rtrim ( v )oder:
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++
In C und C++ gibt es keine standardmäßige Funktion zum Entfernen überflüssiger Zeichenketten. Die meisten verfügbaren String-Bibliotheken [ 58 ] für C enthalten jedoch Code, der das Entfernen überflüssiger Zeichenketten implementiert, oder Funktionen, die eine effiziente Implementierung erheblich vereinfachen. In einigen nicht standardkonformen C-Bibliotheken wird diese Funktion auch häufig als `EatWhitespace` bezeichnet .
In C kombinieren Programmierer häufig ltrim und rtrim, um trim zu implementieren:
#include <ctype.h> #include <string.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 ] && isspace (( unsigned char ) str [ n ])) { n ++ ; } memmove ( str , str + n , strlen ( str ) - n + 1 ); }void trim ( char * str ) { rtrim ( str ); ltrim ( str ); }Die Open-Source- C++-Bibliothek Boost verfügt über mehrere Trim-Varianten, darunter eine Standardvariante: [ 59 ]
#include <boost/algorithm/string/trim.hpp>trimmed = boost :: algorithm :: trim_copy ( "string" );Bei der Funktion von Boost, die einfach den Namen `f` trägt, trimwird die Eingabesequenz direkt verändert, und es wird kein Ergebnis zurückgegeben.
Eine weitere Open-Source- C++-Bibliothek namens Qt verfügt über mehrere Trim-Varianten, darunter eine Standardvariante: [ 60 ]
#include <QString>getrimmt = s.getrimmt ( ) ;Der Linux-Kernel enthält strstrip()seit Version 2.6.18-rc1 auch eine Funktion namens `strip`, die Zeichenketten direkt am Anfang kürzt. Seit Version 2.6.33-rc1 verwendet der Kernel strim()jedoch `strip` anstelle von ` strstrip()strip`, um Fehlalarme zu vermeiden. [ 61 ]
Haskell
Ein Trim-Algorithmus in Haskell :
import Data.Char ( isSpace ) trim :: String -> String trim = f . f where f = reverse . dropWhile isSpaceDie Funktion kann folgendermaßen interpretiert werden: f entfernt das vorangehende Leerzeichen und kehrt die Zeichenkette um. Anschließend wird f erneut auf die eigene Ausgabe angewendet. Die Typangabe (zweite Zeile) ist optional.
J
Der Trim-Algorithmus in J ist eine funktionale Beschreibung:
trim =. #~ [: ( +./\ *. +./\. ) ' ' &~:Das heißt: Filter ( #~) nach Nicht-Leerzeichen ( ' '&~:) zwischen führenden ( +./\) und *.nachfolgenden ( +./\.) Leerzeichen.
JavaScript
JavaScript 1.8.1 (Firefox 3.5 und höher) und der ECMAScript-5-Standard verfügen über eine integrierte Funktion zum Kürzen von Zeichenketten. In früheren Versionen kann diese Funktion dem Prototyp des String-Objekts wie folgt hinzugefügt werden:
String.prototype.trim = function ( ) { return this.replace ( /^\s+ / g , "" ) .replace ( / \s+$/g , " " ) ; } ;Perl
Perl 5 verfügt über keine integrierte Trim-Funktion. Diese Funktionalität wird jedoch üblicherweise mithilfe regulärer Ausdrücke erreicht .
Beispiel:
$string =~ s/^\s+// ; # führende Leerzeichen entfernen $string =~ s/\s+$// ; # nachfolgende Leerzeichen entfernenoder:
$string =~ s/^\s+|\s+$//g ; # Entferne sowohl führende als auch nachfolgende LeerzeichenDiese Beispiele verändern den Wert der ursprünglichen Variablen $string.
Für Perl ist auch StripLTSpace von String::StripCPAN verfügbar .
Es gibt jedoch zwei Funktionen, die üblicherweise verwendet werden, um Leerzeichen vom Ende von Zeichenketten zu entfernen chomp:chop
chopEntfernt das letzte Zeichen aus einer Zeichenkette und gibt diese zurück.chompEntfernt gegebenenfalls das/die nachfolgende(n) Zeilenumbruchzeichen aus einer Zeichenkette. (Was als Zeilenumbruch gilt, hängt von $INPUT_RECORD_SEPARATOR ab).
In Raku , der kommenden Schwestersprache von Perl, gibt es eine trimMethode für Zeichenketten.
Beispiel:
$ string = $ string.trim ; # führende und nachfolgende Leerzeichen entfernen $string .= trim ; # dasselbeTcl
Der Tclstring -Befehl verfügt über drei relevante Unterbefehle: trim, trimrightund trimleft. Für jeden dieser Befehle kann ein zusätzliches Argument angegeben werden: eine Zeichenkette, die eine Menge von zu entfernenden Zeichen darstellt – standardmäßig werden Leerzeichen (Leerzeichen, Tabulator, Zeilenumbruch, Wagenrücklauf) verwendet.
Beispiel für das Kürzen von Vokalen:
set string onomatopoeia set trimmed [ string trim $string aeiou ] ; # Ergebnis ist nomatopoeia set r_trimmed [ string trimright $string aeiou ] ; # Ergebnis ist onomatop set l_trimmed [ string trimleft $string aeiou ] ; # Ergebnis ist nomatopoeiaXSLT
XSLT beinhaltet die Funktion , die führende und nachfolgende Leerzeichen entfernt und zudem jede Leerzeichenfolge (einschließlich Zeilenumbrüche) durch ein einzelnes Leerzeichen ersetzt. normalize-space(string)
Beispiel:
<xsl:variable name= 'trimmed' > <xsl:value-of select= 'normalize-space(string)' /> </xsl:variable>XSLT 2.0 beinhaltet reguläre Ausdrücke und bietet damit einen weiteren Mechanismus zum Kürzen von Zeichenketten.
Eine weitere XSLT-Technik zum Trimmen ist die Verwendung der XPath 2.0- substring()Funktion.
Referenzen
- ^ „W3Schools Online Web Tutorials“ . www.w3schools.com . Abgerufen am 14.04.2026 .
- ^ a b c d e Der Index kann negativ sein, was dann die Anzahl der Stellen vor dem Ende der Zeichenkette angibt.
- ^ In Rust
str::charsiteriert die Methode über Codepunkte und diestd::iter::Iterator::nthMethode auf Iteratoren gibt den nullindizierten n-ten Wert des Iterators zurück, oderNone. - ^ Der Index darf nicht negativ sein. Verwenden Sie *-N , wobei N die Anzahl der Stellen vor dem Ende der Zeichenkette angibt.
- ^ In C++ gibt die überladene
operator<=>Methode eines Strings einstd::strong_orderingObjekt zurück (ansonstenstd::weak_ordering):less,equal(dasselbe wieequivalent), odergreater. - ^ gibt LESS, EQUAL oder GREATER zurück
- ^ gibt LT, EQ oder GT zurück.
- ^ gibt ein
.TRUE.oder zwei.FALSE.. Diese Funktionen basieren auf der ASCII-Sortiersequenz. - ^ a b IBM-Erweiterung.
- ^ In Rust gibt die
Ord::cmpMethode auf einem String einOrdering:Less,Equal, oderGreater. - ^ Im ursprünglichen REXX wurde ¬ für das logische Nicht verwendet, ANSI Rexx verwendet \, einige Implementierungen akzeptieren ~ oder ^, und bei Nicht-EBCDIC-Implementierungen gibt es Unterschiede darin, ob ¬ am Codepunkt AA oder AC steht.
- ^ Im ursprünglichen PL/I wurde ¬ für logisches Nein verwendet, einige Implementierungen erwarten ^, und bei Nicht-EBCDIC-Implementierungen gibt es Unterschiede hinsichtlich der Frage, ob sich ¬ am Codepunkt AA oder AC befindet.
- In Rust werden die Operatoren == und ! = sowie die Methoden , durch das Trait implementiert , und die Operatoren < , > , < = , > = sowie die Methoden , , , werden durch das Trait implementiert.
eqnePartialEqltgtlegePartialOrd - ^ Die Operatoren verwenden die standardmäßige Sortierreihenfolge des Compilers.
- ^ modifiziert, welches genügend Speicherplatz für das Ergebnis haben muss
string1 - ^ In Rust
+wird der Operator durch dasAddTrait implementiert. - ^ Siehe die
str::containsMethode. - ^ Siehe die
std::basic_string::containsMethode. - ^ a b startpos ist eine IBM-Erweiterung.
- ^ a b Siehe die
str::findMethode. - ^
startposist eine IBM-Erweiterung. - ^ „Scan im Fortran Wiki“ . Fortranwiki.org. 30.04.2009 . Abgerufen am 18.08.2013 .
- ^ "Überprüfen Sie dies im Fortran Wiki" . Fortranwiki.org. 03.05.2012 . Abgerufen am 18.08.2013 .
- ^
formatstringmuss zur Kompilierzeit ein festes Literal sein, damit es den richtigen Typ hat. - ^ Siehe
std::format, das vom Rust- Prelude importiert wird , damit es unter dem Namen verwendet werden kannformat. - ^ Siehe die
slice::joinMethode. - ^ Wenn n größer als die Länge der Zeichenkette ist, wird im Debug-Modus eine ArrayRangeException ausgelöst, im Release-Modus ist das Verhalten undefiniert .
- Wenn n größer als die Länge des Strings ist, löst Java eine IndexOutOfBoundsException aus.
- ^ a b falls n größer als die Länge der Zeichenkette ist, löst Invalid_argument aus
- ^ a b Falls n größer als die Länge der Zeichenkette ist, gib die Meldung "StringTake::take:" aus.
- In Rust werden Strings über Byte-Offsets indiziert. Liegt der Index außerhalb des gültigen Bereichs oder würde er zu ungültigem UTF-8 führen, tritt ein Laufzeitfehler auf . Ein String ( eine Referenz) kann über verschiedene Bereichstypen indiziert werden, darunter ` (" ) `, `(" )` und `(" )`, da diese alle das Trait `String` implementieren, wobei `String` der zu indizierende Typ ist. Die Methode `getIndicator` ist die panikfreie Methode zur Indizierung. Sie gibt `false` zurück, wenn die Indizierung einen Laufzeitfehler auslösen würde.
&strRange0..nRangeFromn..RangeTo..nSliceIndexstrstr::getNone - Ruby unterstützt kein Unicode.
- ^ Siehe die
str::lenMethode. - In Rust iteriert die Methode über Codepunkte, und dieMethode auf Iteratoren verbraucht den Iterator und gibt die Gesamtzahl der Elemente im Iterator zurück.
str::charsstd::iter::Iterator::count - ^ wirkt auf ein einzelnes Zeichen
- Die Funktion existiert im Namensraum. Sie müssen die Header-Datei einbinden , um sie zu verwenden . Die Funktionen und befinden sich im globalen Namensraum, der durch die Header-Datei eingebunden wird. Die Namen und sind überladen und können nicht ohne Typumwandlung an übergeben werden, um eine Mehrdeutigkeit der Funktionsüberladung aufzulösen, z. B.
transformstd::<algorithm>tolowertoupper<ctype.h>std::tolowerstd::toupperstd::transformstd::transform(string.begin(), string.end(), result.begin(), (int (*)(int))std::tolower); - Nur
std::stringdas Ergebnis wird in einer Zeichenkette gespeichert,resultdie mindestens so lang ist wie der Ausdruck selbststringund gegebenenfalls nichtstringder Ausdruck selbst - ^ a b Nur ASCII-Zeichen, da Ruby keine Unicode-Unterstützung bietet
- ^ Siehe die
str::to_lowercaseMethode. - ^ Siehe die
str::replaceMethode. - ^ a b c d e Die Zeichenkette „find“ in dieser Konstruktion wird als regulärer Ausdruck interpretiert . Bestimmte Zeichen haben in regulären Ausdrücken eine besondere Bedeutung. Um eine Zeichenkette wörtlich zu finden, müssen die Sonderzeichen in Anführungszeichen gesetzt werden.
- ^ Der dritte Parameter ist nicht standardkonform.
- In Rust iteriert die Methode über Codepunkte, dieMethode auf reversiblen Iteratoren () erzeugt einen umgekehrten Iterator, und dieMethode verbraucht den Iterator und erstellt eine Sammlung (die hier alsmit der Turbofish- Syntax angegeben wird) aus den Elementen des Iterators.
str::charsstd::iter::Iterator::revstd::iter::DoubleEndedIteratorstd::iter::Iterator::collectString - ^ Siehe die
str::rfindMethode. - ^ „Annotated ES5“ . Es5.github.com. Archiviert vom Original am 28.01.2013 . Abgerufen am 18.08.2013 .
- Wenn n größer als die Länge der Zeichenkette ist, wird im Debug-Modus eine ArrayRangeException ausgelöst, im Release-Modus ist das Verhalten nicht spezifiziert.
- ^ Siehe die
str::splitundstr::rsplitMethoden. - ^ a b c d e f g
startposkann negativ sein, was bedeutet, dass die Zeichenkette an der entsprechenden Anzahl von Stellen vor ihrem Ende begonnen werden soll. - ^ a b
numCharskann negativ sein, was bedeutet, dass die Zeichenkette um diese Anzahl Stellen vor ihrem Ende beendet wird. - ^
startposdarf nicht negativ sein. Verwenden Sie * - startpos, um anzugeben, dass die Zeichenkette an der angegebenen Anzahl von Stellen vor ihrem Ende beginnen soll. - ^
numCharsdarf nicht negativ sein. Verwenden Sie * - numChars, um anzugeben, dass die Zeichenkette um diese Anzahl Stellen vor ihrem Ende beendet werden soll. - ^ a b c d e
endposkann negativ sein, was bedeutet, dass die Zeichenkette um diese Anzahl Stellen vor ihrem Ende beendet wird. - Das Ergebnis wird in der Zeichenkette „result“ gespeichert, die mindestens so lang ist wie die Zeichenkette selbstund möglicherweise nicht die Zeichenkette ist.
std::string - ^ „Großbuchstaben – Kotlin-Programmiersprache“ . Kotlin . Abgerufen am 9. November 2024 .
- ^ In Rust
str::to_uppercasegibt die Methode ein neu allokiertes Objekt zurück,Stringin dem alle Kleinbuchstaben gemäß den Unicode-Regeln in Großbuchstaben umgewandelt wurden. - ^ In Rust
str::trimgibt die Methode eine Referenz auf das Original zurück&str. - ^ „Trim – GNU Pascal priručnik“ . Gnu-pascal.de . Abgerufen am 24.08.2013 .
- ^ „Vergleich von Stringbibliotheken“ . And.org . Abgerufen am 24.08.2013 .
- ^ „Nutzung – 1.54.0“ . Boost.org. 22.05.2013 . Abgerufen am 24.08.2013 .
- ^ [1] Archiviert am 2. August 2009 in der Wayback Machine
- ^ dankamongmen. "sprezzos-kernel-packaging/changelog at master · dankamongmen/sprezzos-kernel-packaging · GitHub" . Github.com . Abgerufen am 29.05.2016 .

