Vergleich von Programmiersprachen (Stringfunktionen)

before-content-x4

Zeichenfolgenfunktionen werden in Computerprogrammiersprachen verwendet, um eine Zeichenfolge zu bearbeiten oder Informationen über eine Zeichenfolge abzufragen (einige tun beides).

Die meisten Programmiersprachen, die einen String-Datentyp haben, haben einige String-Funktionen, obwohl es innerhalb jeder Sprache andere Low-Level-Möglichkeiten geben kann, Strings direkt zu handhaben. In objektorientierten Sprachen werden String-Funktionen oft als Eigenschaften und Methoden von String-Objekten implementiert. In funktionalen und listenbasierten Sprachen wird eine Zeichenfolge als Liste (von Zeichencodes) dargestellt, daher könnten alle Listenmanipulationsverfahren als Zeichenfolgenfunktionen betrachtet werden. Solche Sprachen können jedoch auch eine Teilmenge expliziter string-spezifischer Funktionen implementieren.

Für Funktionen, die Strings manipulieren, haben moderne objektorientierte Sprachen wie C# und Java unveränderliche Strings und geben eine Kopie zurück (in neu zugewiesenen dynamischen Speicher), während andere, wie C, den ursprünglichen String manipulieren, es sei denn, der Programmierer kopiert Daten in einen neuen String. Siehe zum Beispiel Verkettung 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 zurückkehren 11.

Andere Sprachen können Zeichenfolgenfunktionen mit ähnlicher oder genau derselben Syntax oder Parametern oder Ergebnissen haben. Zum Beispiel wird die Längenfunktion in vielen Sprachen normalerweise dargestellt als len(string). Die folgende Liste der allgemeinen Funktionen soll dazu beitragen, diese Verwirrung einzudämmen.

Allgemeine Zeichenfolgenfunktionen (mehrsprachige Referenz)[edit]

String-Funktionen, die in vielen Sprachen gebräuchlich sind, sind unten aufgeführt, einschließlich der verschiedenen verwendeten Namen. Die folgende Liste allgemeiner Funktionen soll Programmierern helfen, die äquivalente Funktion in einer Sprache zu finden. Beachten Sie, dass die Verkettung von Zeichenfolgen und reguläre Ausdrücke auf separaten Seiten behandelt werden. Angaben in Guillemets (« … ») sind optional.

CharAt[edit]

Definition charAt(string,integer) gibt Zeichen zurück.
Beschreibung Gibt das Zeichen am Index in der Zeichenfolge zurück.
Äquivalent Siehe Teilstring 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,[1]PHP, Rubin,[1]Windows PowerShell, JavaScript, APL 0
string{i} PHP (veraltet in 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) Rost[2] 0
string[i,1] Wählen Sie Basic 1
String.sub (string, i) Standard-ML 0
string !! i Haskell 0
(string-ref string i) Planen 0
(char string i) Gemeinsame Lisp 0
(elt string i) ISLISP 0
(get string i) Clojure 0
substr(string, i, 1) Perl 5[1] 0
substr(string, i, 1)
string.substr(i, 1)
Raku[3] 0
substr(string, i, 1) PL/I 1
string.at(i) C++ (STL) (mit Grenzüberprüfung) 0
lists:nth(i, string) Erlang 1
[string characterAtIndex:i] Ziel c (NSString * nur) 0
string.sub(string, i, i)
(string):sub(i, i)
Lua[1] 1
string at: i Smalltalk (mit Grenzüberprüfung) 1
string index string i Tcl 0
StringTake[string, {i}] Mathematica, Wolfram-Sprache[1] 1
string@i Eiffel 1
string (i:1) COBOL 1
istring APL 0 oder 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              // for printf
char 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             // for "cout"
#include             // for "string" data type
using 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 5
substr("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 Basic
Mid("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')

Vergleichen (Ganzzahlergebnis)[edit]

Definition compare(string1,string2) gibt ganze Zahl zurück.
Beschreibung Vergleicht zwei Strings miteinander. Wenn sie gleichwertig sind, wird eine Null zurückgegeben. Andernfalls geben die meisten dieser Routinen ein positives oder negatives Ergebnis zurück, je nachdem, ob string1 ist lexikographisch größer als bzw. kleiner als string2. Die Ausnahmen sind die Scheme- und Rexx-Routinen, die den Index der ersten Nichtübereinstimmung zurückgeben, und Smalltalk, die einen Vergleichscode beantworten, der angibt, wie der Empfänger relativ zum String-Parameter sortiert.
Format Sprachen
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 (Quietsch, Pharo)
string1 <=> string2 Rubin, C++ (STL, C++20)[4]
string1.compare(string2) C++ (STL), Swift (Grundlage)
compare(string1, string2) Rexx, Seed7
CompareStr(string1, string2) Pascal, Objektpascal (Delphi)
string1.compareTo(string2) Kobra, Java
string1.CompareTo(string2) VB.NET, C#, F#
(compare string1 string2) Clojure
(string= string1 string2) Gemeinsame Lisp
(string-compare string1 string2 p< p= p>) Schema (SRFI 13)
(string= string1 string2) ISLISP
compare string1 string2 OCaml
String.compare (string1, string2) Standard-ML[5]
compare string1 string2 Haskell[6]
[string]::Compare(string1, string2) Windows PowerShell
[string1 compare:string2] Ziel c (NSString * nur)
LLT(string1,string2)
LLE(string1,string2)
LGT(string1,string2)
LGE(string1,string2)
Fortran[7]
string1.localeCompare(string2) JavaScript
bytes.Compare([]byte(string1), []byte(string2)) gehen
string compare ?-nocase? ?-length int? string1 string2 Tcl
compare(string1,string2,count) PL/I[8]
string1.cmp(string2) Rost[9]
# Example in Perl 5
"hello" cmp "world";       # returns -1
# Example in Python
cmp("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)

Vergleichen (relationaler Operator-basiert, boolesches Ergebnis)[edit]

Definition string1 OP string2 ODER (compare string1 string2) gibt Boolean zurück.
Beschreibung Vergleicht lexikografisch zwei Zeichenfolgen mithilfe eines relationalen Operators oder einer relationalen Funktion. Boolesches Ergebnis zurückgegeben.
Format Sprachen
string1 OP string2, wo OP kann jeder sein =, <>, <, >, <= und >= Pascal, Object Pascal (Delphi), OCaml, Seed7, Standard ML, BASIC, VB, VB .NET, F#
string1 OP string2, wo OP kann jeder sein =, /=, ≠, <, >, <=, ≤ und ; Ebenfalls: EQ, NE, LT, LE, GE und GT ALGOL 68
(stringOP? string1 string2), wo OP kann jeder sein =, -ci=, <, -ci<, >, -ci>, <=, -ci<=, >= und -ci>= (Operatoren beginnend mit '-ci' Groß-/Kleinschreibung wird nicht beachtet) Planen
(stringOP string1 string2), wo OP kann jeder sein =, -ci=, <>, -ci<>, <, -ci<, >, -ci>, <=, -ci<=, >= und -ci>= (Operatoren beginnend mit '-ci' Groß-/Kleinschreibung wird nicht beachtet) Schema (SRFI 13)
(stringOP string1 string2), wo OP kann jeder sein =, -equal, /=, -not-equal, <, -lessp, >, -greaterp, <=, -not-greaterp, >= und -not-lessp (bei den verbalen Operatoren wird die Groß-/Kleinschreibung nicht beachtet) Gemeinsame Lisp
(stringOP string1 string2), wo OP kann jeder sein =, /=, <, >, <=, und >= ISLISP
string1 OP string2, wo OP kann jeder sein =, =, <, >, <= und >= Rexx
string1 OP string2, wo OP kann jeder sein =, ¬=, <, >, <=, >=, ¬< und ¬> PL/I
string1 OP string2, wo OP kann jeder sein =, /=, <, >, <= und >= Ada
string1 OP string2, wo OP kann jeder sein ==, /=, <, >, =< und >= Erlang
string1 OP string2, wo OP kann jeder sein ==, /=, <, >, <= und >= Haskell
string1 OP string2, wo OP kann jeder sein eq, ne, lt, gt, le und ge Perl, Raku
string1 OP string2, wo OP kann jeder sein ==, !=, <, >, <= und >= C++ (STL), C#, D, Go, JavaScript, Python, PHP, Ruby, Rust,[10]Schnell
string1 OP string2, wo OP kann jeder sein -eq, -ceq, -ne, -cne, -lt, -clt, -gt, -cgt, -le, -cle, -ge, und -cge (Operatoren beginnend mit 'c' Groß-/Kleinschreibung beachten) Windows PowerShell
string1 OP string2, wo OP kann jeder sein ==, ~=, <, >, <= und >= Lua
string1 OP string2, wo OP kann jeder sein =, ~=, <, >, <= und >= Smalltalk
string1 OP string2, wo OP kann jeder sein ==, /=, <, >, <= und >=; Also: .EQ., .NE., .LT., .LE., .GT. und .GE. Fortran.[11]
string1 OP string2 wo OP kann jeder sein =, <>, <, >, <=, >= sowie formulierte Äquivalente COBOL
string1 OP string2 wo OP kann jeder sein ==, <>, <, >, <= und >= Kobra
string1 OP string2 ist in der Syntax vorhanden, bedeutet aber den Vergleich der Zeiger, die auf die Strings zeigen, nicht des String-Inhalts. Verwenden Sie die Funktion Vergleichen (ganzzahliges Ergebnis). C, Java
string1.METHOD(string2) wo METHOD ist einer von eq, ne, gt, lt, ge, le Rost[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

Verkettung[edit]

Definition concatenate(string1,string2) gibt Zeichenfolge zurück.
Beschreibung Verkettet (verbindet) zwei Strings miteinander und gibt den kombinierten String zurück. Beachten Sie, dass einige Sprachen wie C veränderliche Zeichenfolgen haben, sodass die zweite Zeichenfolge tatsächlich an die erste Zeichenfolge angehängt und die mutierte Zeichenfolge zurückgegeben wird.
Format Sprachen
string1 & string2 Ada, FreeBASIC, Seed7, BASIC, VB, VB .NET, COBOL (nur zwischen Literalen)
strcat(string1, string2) C, C++ (char * nur)[12]
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,[13]F#, Swift, Turing, VB
string1 ~ string2 D, Raku
(string-append string1 string2) Schema, ISLISP
(concatenate 'string string1 string2) Gemeinsame Lisp
(str string1 string2) Clojure
string1 || string2 Rexx, SQL, PL/I
string1 // string2 Fortran
string1 ++ string2 Erlang, Haskell
string1 ^ string2 OCaml, Standard-ML, F#
[string1 stringByAppendingString:string2] Ziel c (NSString * nur)
string1 .. string2 Lua
string1 , string2 Smalltalk, APL
string1 string2 SNOBOL
string1string2 Bash-Shell
string1 <> string2 Mathematik
concat Schnur1 Schnur2 Tcl
{ 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 "Raku"

Enthält[edit]

Definition contains(string,substring) gibt boolean zurück
Beschreibung Gibt zurück, ob Schnur enthält Teilzeichenfolge als Teilzeichenfolge. Dies entspricht der Verwendung von Find und der anschließenden Feststellung, dass dies nicht zu der in der dritten Spalte des Abschnitts Find aufgeführten Fehlerbedingung führt. Einige Sprachen haben 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) Objektpascal (Delphi)
strstr(string, substring) != NULL C, C++ (char * nur)
string.Contains(substring) C#, VB.NET, Windows PowerShell, F#
string.contains(substring) Kobra, Java (1.5+), Raku, Rost,[14]C++ (C++23)[15]
string.indexOf(substring) >= 0 JavaScript
strpos(string, substring) !== false PHP
pos(string, substring) <> 0 Samen7
substring in string Kobra, Python (2.3+)
string.find(string, substring) ~= nil Lua
string.include?(substring) Rubin
Data.List.isInfixOf substring string Haskell (GHC 6.6+)
string includesSubstring: substring Smalltalk (Quietschen, Pharo, Smalltalk/X)
String.isSubstring substring string Standard-ML
(search substring string) Gemeinsame Lisp
(not (null (string-index substring string))) ISLISP
(substring? substring string) Clojure
! StringFreeQ[string, substring] Mathematik
index(string, substring, startpos)>0 Fortran, PL/I[16]
index(string, substring, occurrence)>0 Wählen Sie Basic
strings.Contains(string, substring) gehen
string.find(substring) != string::npos C++
[string containsString:substring] Ziel c (NSString * nur, iOS 8+/OS X 10.10+)
string.rangeOfString(substring) != nil Swift (Stiftung)
∨/substringstring APL
¢ 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 "

Gleichberechtigung[edit]

Testet, ob zwei Zeichenfolgen gleich sind. Siehe auch #Vergleichen und #Vergleichen. Beachten Sie, dass die Durchführung von Gleichheitsprüfungen über einen generischen Vergleich mit einem ganzzahligen Ergebnis nicht nur für den Programmierer verwirrend ist, sondern oft auch eine wesentlich teurere Operation ist; dies gilt insbesondere bei der Verwendung von "C-Strings".

Format Sprachen
string1 == string2 Python, C++ (STL), C#, Cobra, Go, JavaScript (Ähnlichkeit), PHP (Ähnlichkeit), Ruby, Rust,[10]Erlang, Haskell, Lua, D, Mathematica, Swift
string1 === string2 JavaScript, PHP
string1 == string2 or
string1 .EQ. string2
Fortran
strcmp(string1, string2) == 0 C
(string=? string1 string2) Planen
(string= string1 string2) Gewöhnliches 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, or
[ string1 = string2 ]
Bourne-Muschel
string1 eq string2 Perl, Raku
string1.equals(string2) Kobra, Java
string1.Equals(string2) C#
string1 -eq string2, or
[string]::Equals(string1, string2)
Windows PowerShell
[string1 isEqualToString:string2], or
[string1 isEqual:string2]
Ziel c (NSString * nur)
string1string2 APL
string1.eq(string2) Rost[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

Finden[edit]

Definition find(string,substring) gibt ganze Zahl zurück
Beschreibung Gibt die Position des Anfangs des ersten Vorkommens von zurück Teilzeichenfolge in Schnur. Wenn die Teilzeichenfolge nicht gefunden wird, geben die meisten dieser Routinen einen ungültigen Indexwert zurück – -1, wenn Indizes 0-basiert sind, 0, wenn sie 1-basiert sind – oder einen Wert, der als Boolean FALSE interpretiert wird.
Verwandt instrrev
Format Sprachen Wenn nicht gefunden
string in string(substring, pos, string[startpos:]) ALGOL 68 liefert BOOL: TRUE oder FALSE und Position in REF INT pos.
InStr(«startposstring,substring) VB (Positionen beginnen bei 1) gibt 0 zurück
INSTR$(string,substring) BASIC (Positionen beginnen bei 1) gibt 0 zurück
index(string,substring) AWK gibt 0 zurück
index(string,substring«,startpos») Perl 5 gibt −1 . zurück
index(string,substring«,startpos»)
string.index(substring,«,startpos»)
Raku gibt Nil zurück
instr(«startposstring,substring) FreeBASIC gibt 0 zurück
strpos(string,substring«,startpos») PHP gibt FALSE zurück
locate(string, substring) Ingres gibt Stringlänge + 1 . zurück
strstr(string, substring) C, C++ (char * nur, gibt Zeiger auf das erste Zeichen zurück) gibt NULL zurück
std.string.indexOf(string, substring) D gibt −1 . zurück
pos(string, substring«, startpos») Samen7 gibt 0 zurück
strings.Index(string, substring) gehen gibt −1 . zurück
pos(substring, string) Pascal, Objektpascal (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 gibt −1 . zurück
string.index(substring«,startpos«,endpos»») erhöht ValueError
string.index(substring«,startpos») Rubin gibt null zurück
string.indexOf(substring«,startpos») Java, JavaScript gibt −1 . zurück
string.IndexOf(substring«,startpos«, charcount»») VB.NET, C#, Windows PowerShell, F# gibt −1 . zurück
string:str(string, substring) Erlang gibt 0 zurück
(string-contains string substring) Schema (SRFI 13) gibt #f . zurück
(search substring string) Gemeinsame Lisp gibt NIL zurück
(string-index substring string) ISLISP kehrt zurück nil
List.findIndex (List.isPrefixOf substring) (List.tails string) Haskell (gibt Just . zurück Index) gibt nichts zurück
Str.search_forward (Str.regexp_string substring) string 0 OCaml wirft Not_found . auf
Substring.size (#1 (Substring.position substring (Substring.full string))) Standard-ML gibt die Stringlänge zurück
[string rangeOfString:substring].location Ziel c (NSString * nur) gibt NSNotFound zurück
string.find(string, substring)
(string):find(substring)
Lua gibt null zurück
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlock
string findString: substring startingAt: startpos
Smalltalk (Quietsch, Pharo) Bewerten Sie einen Block, der eine Blockschließung (oder einen beliebigen Objektverständniswert) ist.
gibt 0 zurück
startpos = INDEX(string, substring «,back» «, kind») Fortran gibt 0 zurück, wenn Teilzeichenfolge nicht in Zeichenfolge enthalten ist; gibt LEN(string)+1 zurück, wenn Teilstring leer ist
POSITION(substring IN string) SQL gibt 0 zurück (Positionen beginnen bei 1)
index(string, substring, startpos ) PL/I[16] gibt 0 zurück (Positionen beginnen bei 1)
index(string, substring, occurrence ) Wählen Sie Basic gibt 0 zurück, wenn das Vorkommen der Teilzeichenfolge nicht in der Zeichenfolge enthalten ist; (Positionen beginnen bei 1)
string.indexOf(substring«,startpos«, charcount»») Kobra gibt −1 . zurück
string first substring string startpos Tcl gibt −1 . zurück
(substringstring)⍳1 APL gibt 1 + die letzte Position in zurück Schnur
string.find(substring) Rost[17] kehrt zurück None
; Examples in Common Lisp
(search "e" "Hello mate")             ;  returns 1
(search "z" "word")                   ;  returns NIL
// Examples in C#
"Hello mate".IndexOf("e");            // returns 1
"Hello mate".IndexOf("e", 4);         // returns 9
"word".IndexOf("z");                  // returns -1
# Examples in Raku
"Hello, there!".index('e')           # returns 1
"Hello, there!".index('z')           # returns Nil
; Examples in Scheme
(use-modules (srfi srfi-13))
(string-contains "Hello mate" "e")    ;  returns 1
(string-contains "word" "z")          ;  returns #f
' Examples in Visual Basic
InStr("Hello mate", "e")              '  returns 2
InStr(5, "Hello mate", "e")           '  returns 10
InStr("word", "z")                    '  returns 0
" Examples in Smalltalk "
'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"

Charakter finden[edit]

Definition find_character(string,char) gibt ganze Zahl zurück
Beschreibung Gibt die Position des Anfangs des ersten Vorkommens des Zeichens zurück verkohlen in Schnur. Wenn das Zeichen nicht gefunden wird, geben die meisten dieser Routinen einen ungültigen Indexwert zurück – -1, wenn Indizes 0-basiert sind, 0, wenn sie 1-basiert sind – oder einen Wert, der als Boolean FALSE interpretiert wird. Dies kann als Sonderfall von #Find mit einer Zeichenfolge von einem Zeichen erreicht werden; in vielen Sprachen kann es jedoch einfacher oder effizienter sein, nur ein Zeichen zu finden. Außerdem sind in vielen Sprachen Zeichen und Zeichenfolgen unterschiedlich, daher ist es praktisch, eine solche Funktion zu haben.
Verwandt finden
Format Sprachen Wenn nicht gefunden
char in string(char, pos, string[startpos:]) ALGOL 68 liefert BOOL: TRUE oder FALSE und Position in REF INT pos.
instr(string, any char«,startpos») (char, kann mehrere davon enthalten ein char, in diesem Fall wird die Position des ersten Auftretens eines von ihnen zurückgegeben.) FreeBASIC gibt 0 zurück
strchr(string,char) C, C++ (char * nur, gibt Zeiger auf Zeichen zurück) gibt NULL zurück
std.string.find(string, dchar) D gibt −1 . zurück
string.find(char«,startpos») C++ (STL) gibt std::string::npos zurück
pos(string, char«, startpos») Samen7 gibt 0 zurück
strings.IndexRune(string,char) gehen gibt −1 . zurück
string.indexOf(char«,startpos») Java, JavaScript gibt −1 . zurück
string.IndexOf(char«,startpos«, charcount»») VB.NET, C#, Windows PowerShell, F# gibt −1 . zurück
(position char string) Gemeinsame Lisp gibt NIL zurück
(char-index char string) ISLISP kehrt zurück nil
List.elemIndex char string Haskell (kehrt zurück) Just index) kehrt zurück Nothing
String.index string char OCaml wirft Not_found . auf
position = SCAN (string, set «, back» «, kind») or
position = VERIFY (string, set «, back» «, kind»)[a]
Fortran gibt null zurück
string indexOf: char ifAbsent: aBlock
string indexOf: char
string includes: char
Smalltalk bewerten aBlock die ein BlockClosure (oder irgendein Objektverständniswert)
gibt 0 zurück
kehrt zurück true oder false
index(string, char, startpos ) PL/I[18] gibt 0 zurück (Positionen beginnen bei 1)
string.index(?char) Rubin gibt null zurück
strpos(string,char,startpos) PHP kehrt zurück false
string.indexOf(char«,startpos«, charcount»») Kobra gibt −1 . zurück
stringchar APL gibt 1 + die letzte Position in zurück Schnur
string.find(substring) Rost[17] kehrt zurück None
// 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 Bei gegebenem Zeichensatz gibt SCAN die Position des ersten gefundenen Zeichens zurück,[19] während VERIFY die Position des ersten Zeichens zurückgibt, das nicht zur Menge gehört.[20]

Format[edit]

Definition format(formatstring, items) gibt Zeichenfolge zurück
Beschreibung Gibt die formatierte Zeichenfolgendarstellung eines oder mehrerer Elemente zurück.
Format Sprachen String-Syntax formatieren
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) Objektpascal (Delphi)
fmt.Sprintf(formatstring, items) gehen C
printf -v outputstring formatstring items Bash-Shell C
formatstring % (items) Python, Ruby C
formatstring.format(items) Python .NETZ
fformatstring Python 3
Printf.sprintf formatstring[21] items OCaml, F# C
Text.Printf.printf formatstring items Haskell (GHC) C
formatstring printf: items Smalltalk C
String.format(formatstring, items) Java C
String.Format(formatstring, items) VB.NET, C#, F# .NETZ
(format formatstring items) Schema (SRFI 28) Lispeln
(format nil formatstring items) Gemeinsame Lisp Lispeln
(format formatstring items) Clojure Lispeln
formatstring -f items Windows PowerShell .NETZ
[NSString stringWithFormat:formatstring, items] Ziel c (NSString * nur) C
String(format:formatstring, items) Swift (Stiftung) 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 Fortran)
String.format(formatstring, items) Kobra .NETZ
format formatstring items Tcl C
formatnumbersitems oder formatstring ⎕FMT items APL APL
format!(formatstring, items) Rost[22] Python
// 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 Java
String.format("My %s costs $%2f", "pen", 19.99);    // returns "My pen costs $19.99"
# Examples in Raku
sprintf "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" */

Ungleichheit[edit]

Testet, ob zwei Zeichenfolgen ungleich sind. Siehe auch #Gleichstellung.

Format Sprachen
string1 ne string2, or string1 NE string2 ALGOL 68 – Hinweis: der Betreiber "ne"ist buchstäblich in Fett gedruckt Typ-Schriftart.
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<> string1 string2) Schema (SRFI 13)
(string/= string1 string2) Gemeinsame Lisp
(string/= string1 string2) ISLISP
(not= string1 string2) Clojure
string1 != string2 C++ (STL), C#, Go, JavaScript (nicht ähnlich), PHP (nicht ähnlich), Python, Ruby, Rust,[10]Swift, D, Mathematica
string1 !== string2 JavaScript, PHP
string1 = string2 Rexx
string1 ¬= string2 PL/I
test string1 != string2, or
[ string1 != string2 ]
Bourne-Muschel
string1 -ne string2, or
-not [string]::Equals(string1, string2)
Windows PowerShell
string1 ~= string2 Lua, Smalltalk
string1string2 APL
string1.ne(string2) Rost[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

Index[edit]

sehen #Finden

Index von[edit]

sehen #Finden

anweisung[edit]

sehen #Finden

instrrev[edit]

sehen #rfind

beitreten[edit]

Definition join(separator, list_of_strings) gibt eine Liste von Strings zurück, die mit einem Trennzeichen verbunden sind
Beschreibung Verbindet die Liste der Zeichenfolgen zu einer neuen Zeichenfolge, wobei die Trennzeichenfolge zwischen den einzelnen Teilzeichenfolgen liegt. Gegenteil von Teilt.
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) Rubin, JavaScript, Raku, Rust[23]
(string-join array_of_strings separator) Schema (SRFI 13)
(format nil "~{~a~^separator~}" array_of_strings) Gemeinsame Lisp
(clojure.string/join separator list_of_strings)
(apply str (interpose separator list_of_strings))
Clojure
strings.Join(array_of_strings, separator) gehen
join(array_of_strings, separator) Samen7
String.concat separator list_of_strings OCaml
String.concatWith separator list_of_strings Standard-ML
Data.List.intercalate separator list_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"}, or
array_of_strings -join separator
Windows PowerShell
[array_of_strings componentsJoinedByString:separator] Ziel c (NSString * nur)
table.concat(table_of_strings, separator) Lua
{|String streamContents: [ :stream | collectionOfAnything asStringOn: stream delimiter: separator ]
collectionOfAnything joinUsing: separator
Smalltalk (Quietsch, Pharo)
array_of_strings.join(separator«, final_separator») Kobra
sequence_of_strings.joinWithSeparator(separator) Schnell 2.x
1↓∊separatorlist_of_strings APL
// Example in C#
String.Join("-", {"a", "b", "c"})  // "a-b-c"
" Example in Smalltalk "
#('a' 'b' 'c') joinUsing: '-'      " 'a-b-c' "
# Example in Perl 5
join( '-', ('a', 'b', 'c'));       # 'a-b-c'
# Example in Raku
.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"

letzterindexvon[edit]

sehen #rfind

links[edit]

Definition left(string,n) gibt Zeichenfolge zurück
Beschreibung Gibt die linke zurück n Teil einer Schnur. Wenn n größer als die Länge des Strings ist, geben die meisten Implementierungen den gesamten String zurück (Ausnahmen existieren – siehe Codebeispiele). Beachten Sie, dass es bei Codierungen mit variabler Länge wie UTF-8, UTF-16 oder Shift-JIS erforderlich sein kann, Zeichenfolgenpositionen am Ende zu entfernen, um ungültige Zeichenfolgen zu vermeiden.
Format Sprachen
string (string'First .. string'First + n - 1) Ada
substr(string, 0, n) AWK (ändert String), 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] Ziel c (NSString * nur)
(apply str (take n string)) Clojure
string[0 .. n] D[24]
string:substr(string, start, length) Erlang
(subseq string 0 n) Gemeinsame 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 Basic
string[ .. n] Samen7
string.Substring(0,n) VB.NET, C#, Windows PowerShell, F#
leftstr(string, n) Pascal, Objektpascal (Delphi)
copy (string,1,n) Turbo-Pascal
string.substring(0,n) Java,[25]JavaScript
(string-take string n) Schema (SRFI 13)
take n string Haskell
String.extract (string, n, NONE) Standard-ML
String.sub string 0 n OCaml[26]
string.[..n] F#
string.sub(string, 1, n)
(string):sub(1, n)
Lua
string first: n Smalltalk (Quietsch, Pharo)
string(:n) Fortran
StringTake[string, n] Mathematik[27]
string («FUNCTION» LENGTH(string) - n:n) COBOL
string.substring(0, n) Kobra
nstring. APL
string[0..n]
string[..n]
string.get(0..n)
string.get(..n)
Rost[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 Basic
Left("sandroguidi", 3)   '  returns "san" 
Left("sandroguidi", 100) '  returns "sandroguidi"

len[edit]

sehen #Länge

Länge[edit]

Definition length(string) gibt eine ganze Zahl zurück
Beschreibung Gibt die Länge eines Strings zurück (ohne den Nullabschluss oder andere interne Strukturinformationen des Strings zu zählen). Ein leerer String gibt eine Länge von 0 zurück.
Format Kehrt zurück Sprachen
string'Length Ada
UPB string ALGOL 68
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 Grapheme (NFG) Raku
codes(string)
string.codes
Anzahl Unicode-Codepunkte Raku
string.size OR string.length Anzahl Bytes[29] Rubin
strlen(string) Anzahl Bytes C, PHP
string.length() C++ (STL)
string.length Cobra, D, JavaScript
string.length() Anzahl der UTF-16-Codeeinheiten Java
(string-length string) Scheme
(length string) Common Lisp, ISLISP
(count string) Clojure
String.length string OCaml
size string Standard ML
length string Anzahl Unicode-Codepunkte Haskell
string.length Anzahl der UTF-16-Codeeinheiten Ziel c (NSString * nur)
string.characters.count Anzahl von Charakteren Schnell (2.x)
count(string) Anzahl von Charakteren Schnell (1.2)
countElements(string) Anzahl von Charakteren Schnell (1.0–1.1)
string.len(string)
(string):len()
#string
Lua
string size Smalltalk
LEN(string), or LEN_TRIM(string) Fortran
StringLength[string] Mathematica
«FUNCTION» LENGTH(string) oder

«FUNCTION» BYTE-LENGTH(string)

Anzahl Zeichen bzw. Anzahl Bytes COBOL
string length string eine Dezimalzeichenfolge, die die Anzahl der Zeichen angibt Tcl
string APL
string.len() Anzahl Bytes Rost[30]
string.chars().count() Anzahl Unicode-Codepunkte Rost[31]
// Examples in C#
"hello".Length;      // returns 5
"".Length;           // returns 0
# Examples in Erlang
string:len("hello"). %  returns 5
string:len("").      %  returns 0
# Examples in Perl 5
length("hello");     #  returns 5
length("");          #  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 Basic
Len("hello")         '  returns 5
Len("")              '  returns 0
//Examples in Objective-C
[@"hello" Length]   //returns 5
[@"" Length]   //returns 0
-- Examples in Lua
("hello"):len() -- returns 5
#"" -- returns 0

Lokalisieren[edit]

sehen #Finden

Kleinbuchstaben[edit]

Definition lowercase(string) gibt Zeichenfolge zurück
Beschreibung Gibt die Zeichenfolge in Kleinbuchstaben zurück.
Format Sprachen
LCase(string) VB
lcase(string) FreeBASIC
lc(string) Perl, Raku
string.lc Raku
tolower(char) C[32]
std.string.toLower(string) D
transform(string.begin(), string.end(), result.begin(), ::tolower)[33] C++[34]
lowercase(string) Objektpascal (Delphi)
strtolower(string) PHP
lower(string) Samen7
echo "string" | tr 'A-Z' 'a-z' Unix
string.lower() Python
downcase(string) Wählen Sie Basic
string.downcase Rubin[35]
strings.ToLower(string) gehen
(string-downcase string) Schema (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 Ziel c (NSString * nur), Swift (Stiftung)
string.lower(string)
(string):lower()
Lua
string asLowercase Smalltalk
LOWER(string) SQL
lowercase(string) PL/I[8]
ToLowerCase[string] Mathematik
«FUNCTION» LOWER-CASE(string) COBOL
string.toLower Kobra
string tolower string Tcl
string.to_lowercase() Rost[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 
#include 
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?"

Mitte[edit]

sehen #Teilzeichenfolge

Partition[edit]

Definition .partition(Separator) gibt die Teilzeichenfolge vor dem Trennzeichen zurück; der Separator; dann die Teilzeichenfolge nach dem Trennzeichen.
Beschreibung Teilt die angegebene Zeichenfolge durch das Trennzeichen und gibt die drei Teilzeichenfolgen zurück, die zusammen das Original ergeben.
Format Sprachen Kommentare
string.partition(separator) Python, Rubin (1.9+)
lists:partition(pred, string) Erlang
split /(separator)/, string, 2 Perl 5
split separator, string, 2
string.split( separator, 2 )
Raku Trennzeichen muss kein regulärer Ausdruck sein
# 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 / 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[edit]

Definition replace(string, find, replace) gibt Zeichenfolge zurück
Beschreibung Gibt eine Zeichenfolge mit zurück finden Vorkommen geändert zu ersetzen.
Format Sprachen
changestr(find, string, replace) Rexx
std.string.replace(string, find, replace) D
Replace(string, find, replace) VB
replace(string, find, replace) Samen7
change(string, find, replace) Wählen Sie Basic
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[37]
string.replaceAll(find_regex, replace)[38] Java
string.gsub(find, replace) Rubin
string =~ s/find_regex/replace/g[38] Perl 5
string.subst(find, replace, :g) Raku
string.replace(find, replace, "g") [39] or
string.replace(/find_regex/g, replace)[38]
JavaScript
echo "string" | sed 's/find_regex/replace/g'[38] Unix
string.replace(find, replace), or
string -replace find_regex, replace[38]
Windows PowerShell
Str.global_replace (Str.regexp_string find) replace string OCaml
[string stringByReplacingOccurrencesOfString:find withString:replace] Ziel c (NSString * nur)
string.stringByReplacingOccurrencesOfString(find, withString:replace) Swift (Stiftung)
string.gsub(string, find, replace)
(string):gsub(find, replace)
Lua
string copyReplaceAll: find with: replace Smalltalk (Quietschen, Pharo)
string map {find replace} string Tcl
StringReplace[string, find -> replace] Mathematik
strings.Replace(string, find, replace, -1) gehen
INSPECT string REPLACING ALL/LEADING/FIRST find BY replace COBOL
find_regex ⎕R replace_regexstring APL
// 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 Basic
Replace("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"

umkehren[edit]

Definition reverse(string)
Beschreibung Kehrt die Reihenfolge der Zeichen in der Zeichenfolge um.
Format Sprachen
reverse string Perl 5, Haskell
flip string
string.flip
Raku
lists:reverse(string) Erlang
strrev(string) PHP
string[::-1] Python
(string-reverse string) Schema (SRFI 13)
(reverse string) Gemeinsame Lisp
string.reverse Ruby, D (ändert die Zeichenfolge)
new StringBuilder(string).reverse().toString() Java
std::reverse(string.begin(), string.end()); C++ (std::string nur, ändert Zeichenfolge)
StrReverse(string) VB
string.Reverse().ToString() VB.NET, C#
implode (rev (explode string)) Standard-ML
string.split("").reverse().join("") JavaScript
string.reverse(string)
(string):reverse()
Lua
string reverse Smalltalk
StringReverse[string] Mathematik
reverse(string) PL/I
«FUNCTION» REVERSE(string) COBOL
string.toCharArray.toList.reversed.join() Kobra
String(string.characters.reverse()) Schnell (2.x)
String(reverse(string)) Schnell (1.2)
string reverse string Tcl
string APL
string.chars().rev().collect::() Rost[40]
" Example in Smalltalk "
'hello' reversed             " returns 'olleh' "
# Example in Perl 5
reverse "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[edit]

Definition rfind(string,substring) gibt ganze Zahl zurück
Beschreibung Gibt die Position des Anfangs des letzten Vorkommens von zurück Teilzeichenfolge in Schnur. Wenn die Teilzeichenfolge nicht gefunden wird, geben die meisten dieser Routinen einen ungültigen Indexwert zurück – -1, wenn Indizes 0-basiert sind, 0, wenn sie 1-basiert sind – oder einen Wert, der als Boolean FALSE interpretiert wird.
Verwandt anweisung
Format Sprachen Wenn nicht gefunden
InStrRev(«startposstring,substring) VB gibt 0 zurück
instrrev(«startposstring,substring) FreeBASIC gibt 0 zurück
rindex(string,substring«,startpos») Perl 5 gibt −1 . zurück
rindex(string,substring«,startpos»)
string.rindex(substring«,startpos»)
Raku gibt Nil zurück
strrpos(string,substring«,startpos») PHP gibt FALSE zurück
string.rfind(substring«,startpos») C++ (STL) gibt std::string::npos zurück
std.string.rfind(string, substring) D gibt −1 . zurück
string.rfind(substring«,startpos«, endpos»») Python gibt −1 . zurück
string.rindex(substring«,startpos«, endpos»») erhöht ValueError
rpos(string, substring«,startpos») Samen7 gibt 0 zurück
string.rindex(substring«,startpos») Rubin gibt null zurück
strings.LastIndex(string, substring) gehen gibt −1 . zurück
string.lastIndexOf(substring«,startpos») Java, JavaScript gibt −1 . zurück
string.LastIndexOf(substring«,startpos«, charcount»») VB.NET, C#, Windows PowerShell, F# gibt −1 . zurück
(search substring string :from-end t) Gemeinsame Lisp gibt NIL zurück
[string rangeOfString:substring options:NSBackwardsSearch].location Ziel c (NSString * nur) gibt NSNotFound zurück
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1) OCaml wirft Not_found . auf
string.match(string, '.*()'..substring)
string:match('.*()'..substring)
Lua gibt null 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 gibt −1 . zurück
string lastIndexOfString:substring Smalltalk gibt 0 zurück
string last substring string startpos Tcl gibt −1 . zurück
(⌽<⌽substring⍷'string')⍳1 APL gibt −1 . zurück
string.rfind(substring) Rost[41] kehrt zurück None
; 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 5
rindex("Hello mate", "e");               # returns 9
rindex("Hello mate", "e", 4);            # returns 1
rindex("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 Basic
InStrRev("Hello mate", "e")              '  returns 10
InStrRev(5, "Hello mate", "e")           '  returns 2
InStrRev("word", "z")                    '  returns 0

rechts[edit]

Definition right(string,n) gibt Zeichenfolge zurück
Beschreibung Gibt das Recht zurück n Teil einer Schnur. Wenn n größer als die Länge des Strings ist, geben die meisten Implementierungen den gesamten String zurück (Ausnahmen existieren – siehe Codebeispiele).
Format Sprachen
string (string'Last - n + 1 .. string'Last) 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 sein als die Länge von Schnur) C
string.Substring(string.Length()-n) C#
string[len(string)-n:] gehen
string.substring(string.length()-n) Java
string.slice(-n) JavaScript[42]
right(string,n «,padchar») Rexx, Erlang
substr(string,-n) Perl 5, PHP
substr(string,*-n)
string.substr(*-n)
Raku
string[-n:] Kobra, Python
string[n] Wählen Sie Basic
(string-take-right string n) Schema (SRFI 13)
string[-n..-1] Rubin
string[$-n .. $] D[43]
String.sub string (String.length string - n) n OCaml[26]
string.sub(string, -n)
(string):sub(-n)
Lua
string last: n Smalltalk (Quietsch, Pharo)
StringTake[string, -n] Mathematik[27]
string (1:n) COBOL
¯nstring. APL
string[n..]
string.get(n..)
Rost[28]
// Examples in Java; extract rightmost 4 characters
String 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 Basic
Right("sandroguidi", 3)        '  returns "idi" 
Right("sandroguidi", 100)      '  returns "sandroguidi"

rpartition[edit]

Definition .rpartition(Separator) Sucht nach dem Trennzeichen von rechts nach links innerhalb der Zeichenfolge und gibt dann die Teilzeichenfolge vor dem Trennzeichen zurück; der Separator; dann die Teilzeichenfolge nach dem Trennzeichen.
Beschreibung Teilt die angegebene Zeichenfolge durch das am weitesten rechts stehende Trennzeichen und gibt die drei Teilzeichenfolgen zurück, die zusammen das Original ergeben.
Format Sprachen
string.rpartition(separator) Python, Ruby
# 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')

Scheibe[edit]

sehen #Teilzeichenfolge

Teilt[edit]

Definition .Teilt(Separator[, limit]) teilt einen String am Trennzeichen, optional nur bis zu einer begrenzten Anzahl von Teilstrings
Beschreibung Teilt die angegebene Zeichenfolge nach Vorkommen des Trennzeichens (selbst eine Zeichenfolge) und gibt eine Liste (oder ein Array) der Teilzeichenfolgen zurück. Wenn Grenze ist gegeben, nach Grenze – 1 Trennzeichen gelesen wurden, wird der Rest des Strings zum letzten Teilstring gemacht, unabhängig davon, ob er Trennzeichen enthält. Die Scheme- und Erlang-Implementierungen sind ähnlich, unterscheiden sich jedoch in mehrfacher Hinsicht. JavaScript unterscheidet sich auch darin, dass es schneidet, den Rest des Strings nicht in das letzte Element einfügt. Siehe das Beispiel hier. Die Cobra-Implementierung verwendet standardmäßig Whitespace. Gegenteil von beitreten.
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] Ziel c (NSString * nur)
string.componentsSeparatedByString(separator) Swift (Stiftung)
TStringList.Delimiter, TStringList.DelimitedText Objekt Pascal
StringSplit[string, separator«, limit»] Mathematik
string.split«(sepchars«, limit«, options»»)» Kobra
split string separator Tcl
(separatorstring)⊂string oder separator(≠⊆⊢)string in APL2 bzw. Dyalog APL 16.0 APL
string.split(separator)

string.split(limit, separator)

Rost[44]
// Example in C#
"abc,defgh,ijk".Split(',');                 // {"abc", "defgh", "ijk"}
"abc,defgh;ijk".Split(',', ';');            // {"abc", "defgh", "ijk"}
% Example in Erlang
string: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 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')
# 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)

sprintf[edit]

sehen #Format

Streifen[edit]

sehen #trimmen

strcmp[edit]

sehen #Vergleichen (Ganzzahlergebnis)

Teilzeichenfolge[edit]

Definition substring(string, startpos, endpos) gibt Zeichenfolge zurück
substr(string, startpos, numChars) gibt Zeichenfolge zurück
Beschreibung Gibt eine Teilzeichenfolge von zurück Schnur zwischen ab startpos und Endpos, oder ab startpos der Länge numChars. Die resultierende Zeichenfolge wird abgeschnitten, wenn weniger als numChars Zeichen jenseits des Startpunkts. Endpos stellt den Index nach dem letzten Zeichen in der Teilzeichenfolge dar. Beachten Sie, dass es bei Codierungen mit variabler Länge wie UTF-8, UTF-16 oder Shift-JIS erforderlich sein kann, Zeichenfolgenpositionen am Ende zu entfernen, um ungültige Zeichenfolgen 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 String), Perl 5,[45][46]PHP[45][46]
substr(string, startpos, numChars)
string.substr(startpos, numChars)
Raku[47][48]
substr(string, startpos «,numChars, padChar») Rexx
string[startpos:endpos] Kobra, Python,[45][49]gehen
string[startpos, numChars] Wählen Sie Basic
string[startpos, numChars]
string[startpos .. endpos-1]
string[startpos ... endpos]
Rubin[45][49]
string[startpos .. endpos]
string[startpos len numChars]
Samen7
string.slice(startpos«, endpos») JavaScript[45][49]
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) Objektpascal (Delphi)
(substring string startpos endpos) Planen
(subseq string startpos endpos) Gemeinsame Lisp
(subseq string startpos endpos) ISLISP
String.sub string startpos numChars 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 startpos string Haskell
[string substringWithRange:NSMakeRange(startpos, numChars)] Ziel c (NSString * nur)
string.[startpos..endpos] F#
string.sub(string, startpos, endpos)
(string):sub(startpos, endpos)
Lua[45][49]
string copyFrom: startpos to: endpos Smalltalk
string(startpos:endpos) Fortran
SUBSTRING(string FROM startpos «FOR numChars») SQL
StringTake[string, {startpos, endpos}] Mathematik[45][49]
string (startpos:numChars) COBOL
Saitenbereich Zeichenfolge startpos endpos Tcl
string[startpos..endpos]
string.get(startpos..endpos)
Rost[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 Erlang
string:substr("abc", 2, 1). %  returns "b"
string:substr("abc", 2).    %  returns "bc"
# Examples in Perl 5
substr("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****" */

Großbuchstaben[edit]

Definition uppercase(string) gibt Zeichenfolge zurück
Beschreibung Gibt die Zeichenfolge in Großbuchstaben zurück.
Format Sprachen
UCase(string) VB
ucase(string) FreeBASIC
toupper(string) AWK (ändert die Zeichenfolge)
uc(string) Perl, Raku
string.uc Raku
toupper(char) C (arbeitet an einem Zeichen)
for(size_t i = 0, len = strlen(string); i< len; i++) string[i] = toupper(string[i]);
for (char *c = string; *c != ''; c++) *c = toupper(*c);
C (String/Char-Array)
std.string.toUpper(string) D
transform(string.begin(), string.end(), result.begin(), toupper)[33] C++[50]
uppercase(string) Objektpascal (Delphi)
upcase(char) Object Pascal (Delphi) (arbeitet auf einem Zeichen)
strtoupper(string) PHP
upper(string) Samen7
echo "string" | tr 'a-z' 'A-Z' Unix
translate(string), oder

UPPER variables, oder
PARSE UPPER VAR SrcVar DstVar

Rexx
string.upper() Python
upcase(string) Wählen Sie Basic
string.upcase Rubin[35]
strings.ToUpper(string) gehen
(string-upcase string) Schema, gemeinsame Lisp
String.uppercase string OCaml
String.map Char.toUpper string Standard-ML
map Char.toUpper string Haskell
string.toUpperCase() Java, JavaScript
to_upper(string) Erlang
string.ToUpper() VB.NET, C#, Windows PowerShell, F#
string.uppercaseString Ziel c (NSString * nur), Swift (Stiftung)
string.upper(string)
(string):upper()
Lua
string asUppercase Smalltalk
UPPER(string) SQL
ToUpperCase[string] Mathematik
«FUNCTION» UPPER-CASE(string) COBOL
string.toUpper Kobra
string toupper string Tcl
string.to_uppercase() Rost[51]
// Example in C#
"Wiki means fast?".ToUpper();      // "WIKI MEANS FAST?"
# Example in Perl 5
uc("Wiki means fast?");             # "WIKI MEANS FAST?"
# Example in Raku
uc("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 Basic
UCase("Wiki means fast?")          '  "WIKI MEANS FAST?"

trimmen[edit]

trim oder strip wird verwendet, um Leerzeichen am Anfang, am Ende oder am Anfang und am Ende einer Zeichenfolge zu entfernen.

Anwendungsbeispiel Sprachen
String.Trim([chars]) C#, VB.NET, Windows PowerShell
string.strip(); D
(.trim string) Clojure
sequence [ predicate? ] trim Faktor
(string-trim '(#Space #Tab #Newline) string) Gemeinsame Lisp
(string-trim string) Planen
string.trim() Java, JavaScript (1.8.1+, Firefox 3.5+), Rust[52]
Trim(String) Pascal,[53]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.strip or string.lstrip or string.rstrip Rubin
string.trim Raku
trim(string) PHP, Raku
[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] Ziel-C mit Kakao
string withBlanksTrimmed
string withoutSpaces
string withoutSeparators
Smalltalk (Quietsch, Pharo)
Smalltalk
strip(string) SAS
string trim $string Tcl
TRIM(string) or TRIM(ADJUSTL(string)) Fortran
TRIM(string) SQL
TRIM(string) or LTrim(string) or RTrim(String) ColdFusion
String.trim string OCaml 4+

Andere Sprachen

In Sprachen ohne integrierte Trim-Funktion ist es normalerweise einfach, eine benutzerdefinierte Funktion zu erstellen, die dieselbe Aufgabe erfüllt.

APL[edit]

APL kann reguläre Ausdrücke direkt verwenden:

Alternativ ein funktionaler Ansatz, der Boolesche Masken kombiniert, die führende und nachfolgende Leerzeichen herausfiltern:

Trim{/⍨(⌽∨)' '}

Oder kehren Sie um und entfernen Sie führende Leerzeichen zweimal:

Trim{(' ')/}2

AWK[edit]

In AWK kann man reguläre Ausdrücke zum Trimmen 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++[edit]

In C oder C++ gibt es keine Standardtrimmfunktion. Die meisten der verfügbaren String-Bibliotheken[54] für C enthalten Code, der das Trimmen implementiert, oder Funktionen, die eine effiziente Implementierung erheblich erleichtern. Die Funktion wurde auch schon oft aufgerufen Whitespace essen in einigen nicht standardmäßigen C-Bibliotheken.

In C kombinieren Programmierer oft ltrim und rtrim, um trim zu implementieren:

#include 
#include 

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 hat mehrere Trim-Varianten, darunter eine Standardversion:[55]

#include 
trimmed = boost::algorithm::trim_copy("string");

Beachten Sie, dass die Funktion von boost einfach benannt ist trim die Eingabesequenz wird direkt geändert und gibt kein Ergebnis zurück.

Eine andere Open-Source-C++-Bibliothek Qt hat mehrere Trim-Varianten, einschließlich einer Standardversion:[56]

#include 
trimmed = s.trimmed();

Der Linux-Kernel enthält auch eine Strip-Funktion, strstrip(), seit 2.6.18-rc1, wodurch die Zeichenfolge "an Ort und Stelle" gekürzt wird. Seit 2.6.33-rc1 verwendet der Kernel strim() Anstatt von strstrip() um Fehlwarnungen zu vermeiden.[57]

Haskell[edit]

Ein Trim-Algorithmus in Haskell:

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

kann wie folgt interpretiert werden: F löscht das vorangehende Leerzeichen und kehrt die Zeichenfolge um. F wird dann wieder auf seinen eigenen Ausgang angewendet. Beachten Sie, dass die Typsignatur (die zweite Zeile) optional ist.

J[edit]

Der Trim-Algorithmus in J ist eine Funktionsbeschreibung:

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

That is: filter (#~) for non-space characters (' '&~:) between leading (+./) and (*.) trailing (+./.) spaces.

JavaScript[edit]

In JavaScript 1.8.1 (Firefox 3.5 und höher) und dem ECMAScript 5-Standard gibt es eine integrierte Trim-Funktion. In früheren Versionen kann es wie folgt zum Prototyp des String-Objekts hinzugefügt werden:

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

Perl[edit]

Perl 5 hat keine eingebaute Trim-Funktion. Die Funktionalität wird jedoch häufig mit regulären Ausdrücken erreicht.

Beispiel:

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

oder:

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

Diese Beispiele ändern den Wert der ursprünglichen Variablen $string.

Auch für Perl verfügbar ist StripLTSpace in String::Strip von CPAN.

Es gibt jedoch zwei Funktionen, die häufig verwendet werden, um Leerzeichen am Ende von Zeichenfolgen zu entfernen: chomp und chop:

  • chop entfernt das letzte Zeichen aus einem String und gibt es zurück.
  • chomp entfernt das (die) nachgestellte(n) Newline-Zeichen aus einer Zeichenfolge, falls vorhanden. (Was einen Zeilenumbruch ausmacht, ist $INPUT_RECORD_SEPARATOR abhängig).

In Raku, der kommenden Schwestersprache von Perl, haben Strings eine trim Methode.

Beispiel:

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

Tcl[edit]

Die Tcl string Befehl hat drei relevante Unterbefehle: trim, trimright und trimleft. Für jeden dieser Befehle kann ein zusätzliches Argument angegeben werden: eine Zeichenfolge, die einen zu entfernenden Zeichensatz darstellt – der Standardwert ist Leerraum (Leerzeichen, Tabulator, Zeilenumbruch, Wagenrücklauf).

Beispiel für das Trimmen von Vokalen:

set string onomatopoeia
set trimmed [string trim $string aeiou]         ;# result is nomatop
set r_trimmed [string trimright $string aeiou]  ;# result is onomatop
set l_trimmed [string trimleft $string aeiou]   ;# result is nomatopoeia

XSLT[edit]

XSLT beinhaltet die Funktion normalize-space(string) wodurch führende und nachgestellte Leerzeichen entfernt werden, zusätzlich zum Ersetzen jeglicher Leerzeichenfolgen (einschließlich Zeilenumbrüche) durch ein einzelnes Leerzeichen.

Beispiel:

 name='trimmed'>
    select='normalize-space(string)'/>

XSLT 2.0 enthält reguläre Ausdrücke, die einen weiteren Mechanismus zum Trimmen von Zeichenfolgen bieten.

Eine andere XSLT-Technik zum Trimmen ist die Verwendung des XPath 2.0 substring() Funktion.

Verweise[edit]

  1. ^ ein B C D e der Index kann negativ sein, was dann die Anzahl der Stellen vor dem Ende der Zeichenfolge angibt.
  2. ^ In Rust ist die str::chars Methode iteriert über Codepunkte und die std::iter::Iterator::nth Methode auf Iteratoren gibt den null-indizierten n-ten Wert aus dem Iterator zurück, oder None.
  3. ^ der Index kann nicht negativ sein, verwenden *-N wobei N die Anzahl der Stellen vor dem Ende der Zeichenfolge angibt.
  4. ^ In C++ ist das überladene operator<=> Methode auf a Schnur gibt a . zurück std::strong_ordering Objekt (sonst std::weak_ordering): less, equal (gleich wie equivalent), oder greater.
  5. ^ gibt WENIGER, GLEICH oder GRÖßER zurück
  6. ^ gibt LT, EQ oder GT . zurück
  7. ^ kehrt zurück .TRUE. oder .FALSE.. Diese Funktionen basieren auf der ASCII-Sortierreihenfolge.
  8. ^ ein B IBM-Erweiterung.
  9. ^ In Rust ist die Ord::cmp Methode auf a Schnur kehrt zurück Ordering: Less, Equal, oder Greater.
  10. ^ ein B C D e F In Rust sind die Betreiber == und != und die Methoden eq, ne werden umgesetzt von der PartialEq Merkmal und die Operatoren <, >, <=, >= und die Methoden lt, gt, le, ge werden umgesetzt von der PartialOrd Merkmal.
  11. ^ Die Operatoren verwenden die Standardsortierreihenfolge des Compilers.
  12. ^ modifiziert string1, die genügend Platz haben muss, um das Ergebnis zu speichern
  13. ^ In Rust ist die + Betreiber wird durch die Add Merkmal.
  14. ^ Siehe die str::contains Methode.
  15. ^ Siehe die std::basic_string::contains Methode.
  16. ^ ein B startpos ist die IBM-Erweiterung.
  17. ^ ein B Siehe die str::find Methode.
  18. ^ startpos ist die IBM-Erweiterung.
  19. ^ "Im Fortran-Wiki scannen". Fortranwiki.org. 2009-04-30. Abgerufen 2013-08-18.
  20. ^ "im Fortran-Wiki überprüfen". Fortranwiki.org. 2012-05-03. Abgerufen 2013-08-18.
  21. ^ formatstring muss zur Kompilierzeit ein festes Literal sein, damit es den richtigen Typ hat.
  22. ^ Sehen std::format, die von der Rust . importiert wird Auftakt damit es unter dem Namen verwendet werden kann format.
  23. ^ Siehe die slice::join Methode.
  24. ^ Wenn n größer als die Länge des Strings ist, wird im Debug-Modus ArrayRangeException geworfen, im Release-Modus ist das Verhalten nicht spezifiziert.
  25. ^ Wenn n größer als die Länge des Strings ist, wirft Java eine IndexOutOfBoundsException
  26. ^ ein B wenn n größer als die Länge des Strings ist, wird Invalid_argument . ausgelöst
  27. ^ ein B Wenn n größer als die Länge des Strings ist, werfen Sie die Nachricht "StringTake::take:"
  28. ^ ein B C In Rust werden Strings in Bezug auf Byte-Offsets indiziert, und es kommt zur Laufzeitpanik, wenn der Index außerhalb der Grenzen liegt oder zu ungültigem UTF-8 führen würde. EIN &str (String-Referenz) kann sein indexiert nach verschiedenen Arten von Bereichen, einschließlich Range (0..n), RangeFrom (n..), und RangeTo (..n), weil sie alle die SliceIndex Eigenschaft mit str der Typ sein, der indiziert wird. Die str::get -Methode ist der nicht in Panik geratene Weg zum Indexieren. Es kehrt zurück None in den Fällen, in denen die Indexierung in Panik geraten würde.
  29. ^ Ruby fehlt Unicode-Unterstützung
  30. ^ Siehe die str::len Methode.
  31. ^ In Rust ist die str::chars Methode iteriert über Codepunkte und die std::iter::Iterator::count -Methode auf Iteratoren verbraucht den Iterator und gibt die Gesamtzahl der Elemente im Iterator zurück.
  32. ^ arbeitet mit einem Zeichen
  33. ^ ein B Die transform Funktion existiert in der std:: Namensraum. Sie müssen die Header-Datei, um sie zu verwenden. Die tolower und toupper Funktionen befinden sich im globalen Namensraum, der von der Header-Datei. Die std::tolower und std::toupper Namen sind überladen und können nicht übergeben werden std::transform ohne eine Umwandlung, um eine Mehrdeutigkeit der Funktionsüberladung aufzulösen, zB std::transform(string.begin(), string.end(), result.begin(), (int (*)(int))std::tolower);
  34. ^ std::string nur, Ergebnis wird in String gespeichert result das ist mindestens so lang wie string, und kann sein oder auch nicht string selbst
  35. ^ ein B nur ASCII-Zeichen, da Ruby keine Unicode-Unterstützung hat
  36. ^ Siehe die str::to_lowercase Methode.
  37. ^ Siehe die str::replace Methode.
  38. ^ ein B C D e Die Zeichenfolge "find" in diesem Konstrukt wird als regulärer Ausdruck interpretiert. Bestimmte Zeichen haben in regulären Ausdrücken eine besondere Bedeutung. Wenn Sie eine Zeichenfolge buchstäblich finden möchten, müssen Sie die Sonderzeichen in Anführungszeichen setzen.
  39. ^ dritter Parameter ist nicht standardmäßig
  40. ^ In Rust ist die str::chars Methode iteriert über Codepunkte, die std::iter::Iterator::rev Methode auf reversible Iteratoren (std::iter::DoubleEndedIterator) erstellt einen umgekehrten Iterator, und die std::iter::Iterator::collect -Methode verbraucht den Iterator und erstellt eine Sammlung (die hier als a String mit der Turbofish-Syntax) aus den Elementen des Iterators.
  41. ^ Siehe die str::rfind Methode.
  42. ^ "Annotierter ES5". Es5.github.com. Abgerufen 2013-08-18.
  43. ^ Wenn n größer als die Länge des Strings ist, wird im Debug-Modus eine ArrayRangeException geworfen und im Release-Modus ein nicht spezifiziertes Verhalten
  44. ^ Siehe die str::split und str::rsplit Methoden.
  45. ^ ein B C D e F g startpos kann negativ sein, was angibt, dass diese Anzahl von Stellen vor dem Ende der Zeichenfolge beginnen soll.
  46. ^ ein B numChars kann negativ sein, was angibt, dass diese Anzahl von Stellen vor dem Ende der Zeichenfolge beendet werden soll.
  47. ^ startpos kann nicht negativ sein, verwenden * - Startposition um anzugeben, dass diese Anzahl von Stellen vor dem Ende der Zeichenfolge beginnen soll.
  48. ^ numChars kann nicht negativ sein, verwenden * - numChars um anzugeben, dass diese Anzahl von Stellen vor dem Ende der Zeichenfolge beendet werden soll.
  49. ^ ein B C D e endpos kann negativ sein, was angibt, dass diese Anzahl von Stellen vor dem Ende der Zeichenfolge beendet werden soll.
  50. ^ std::string nur, Ergebnis wird in String gespeichert Ergebnis das ist mindestens so lang wie Schnur, und kann sein oder auch nicht Schnur selbst
  51. ^ In Rust ist die str::to_uppercase Methode gibt ein neu zugewiesenes . zurück String wobei alle Kleinbuchstaben gemäß den Unicode-Regeln in Großbuchstaben umgewandelt werden.
  52. ^ In Rust ist die str::trim Methode gibt einen Verweis auf das Original zurück &str.
  53. ^ "Trim – GNU Pascal priručnik". Gnu-pascal.de. Abgerufen 2013-08-24.
  54. ^ "String-Bibliothek-Vergleich". Und.org. Abgerufen 2013-08-24.
  55. ^ "Nutzung – 1.54.0". Boost.org. 2013-05-22. Abgerufen 2013-08-24.
  56. ^ [1] Archiviert 2. August 2009, an der Wayback Machine
  57. ^ dankamongmen. "sprezzos-kernel-packaging/changelog at master · dankamongmen/sprezzos-kernel-packaging · GitHub". Github.com. Abgerufen 2016-05-29.


after-content-x4