Sammenligning af programmeringssprog (strengfunktioner) - Comparison of programming languages (string functions)
String funktioner bruges i computer programmeringssprog til at manipulere en snor eller forespørgsel information om en streng (nogle gør begge dele).
De fleste programmeringssprog, der har en streng datatype vil have nogle strengfunktioner selv om der kan være andre lav-niveau måder inden hvert sprog til at håndtere strenge direkte. I objektorienterede sprog implementeres strengfunktioner ofte som egenskaber og metoder til strengobjekter. I funktionelle og listebaserede sprog er en streng repræsenteret som en liste (med tegnkoder), derfor kan alle liste-manipulationsprocedurer betragtes som strengfunktioner. Sådanne sprog kan imidlertid også implementere en delmængde af eksplicitte strengspecifikke funktioner.
Til funktion, der manipulerer strenge, har moderne objektorienterede sprog, som C# og Java, uforanderlige strenge og returnerer en kopi (i nyligt tildelt dynamisk hukommelse), mens andre, ligesom C, manipulerer den originale streng, medmindre programmereren kopierer data til en ny streng. Se f.eks. Sammenkædning nedenfor.
Det mest grundlæggende eksempel på en strengfunktion er length(string)funktionen. Denne funktion returnerer længden af en streng bogstaveligt .
- f.eks
length("hello world")ville returnere 11.
Andre sprog kan have strengfunktioner med lignende eller nøjagtig samme syntaks eller parametre eller resultater. For eksempel er længdefunktionen på mange sprog normalt repræsenteret som len (streng) . Nedenstående liste over fælles funktioner har til formål at hjælpe med at begrænse denne forvirring.
Almindelige strengfunktioner (flersprogsreference)
Strengfunktioner, der er fælles for mange sprog, er angivet nedenfor, herunder de forskellige navne, der bruges. Nedenstående liste over fælles funktioner har til formål at hjælpe programmører med at finde den tilsvarende funktion på et sprog. Bemærk, streng sammenkædning og regulære udtryk håndteres på separate sider. Erklæringer i lompe («…») er valgfrie.
CharAt
| Definition |
charAt(string,integer) returnerer karakter.
|
|---|---|
| Beskrivelse | Returnerer tegn ved indeks i strengen. |
| Tilsvarende | Se delstreng med længde 1 tegn. |
| Format | Sprog | Basisindeks |
|---|---|---|
string[i]
|
ALGOL 68 , APL , Julia , Pascal , Object Pascal ( Delphi ), Frø7 | 1 |
string[i]
|
C , C ++ , C# , Cobra , D , FreeBASIC , Go , Python , PHP , Ruby , Windows PowerShell , JavaScript , APL | 0 |
string{i}
|
PHP (udfaset i 5.3) | 0 |
string(i)
|
Ada | ≥1 |
Mid(string,i,1)
|
VB | 1 |
MID$(string,i,1)
|
GRUNDLÆGGENDE | 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 | 0 |
string[i,1]
|
Vælg Basic | 1 |
String.sub (string, i)
|
Standard ML | 0 |
string !! i
|
Haskell | 0 |
(string-ref string i)
|
Ordning | 0 |
(char string i)
|
Almindelig Lisp | 0 |
(elt string i)
|
ISLISP | 0 |
(get string i)
|
Clojure | 0 |
substr(string, i, 1)
|
Perl 5 | 0 |
substr(string, i, 1) string.substr(i, 1)
|
Raku | 0 |
substr(string, i, 1)
|
PL/I | 1 |
string.at(i)
|
C ++ (STL) (uden grænsekontrol) | 0 |
lists:nth(i, string)
|
Erlang | 1 |
[string characterAtIndex:i]
|
Objective-C ( NSString *kun)
|
0 |
string.sub(string, i, i)
|
Lua | 1 |
string at: i
|
Smalltalk (uden grænsekontrol) | 1 |
string index string i
|
Tcl | 0 |
StringTake[string, {i}]
|
Mathematica , Wolfram Language | 1 |
string@i
|
Eiffel | 1 |
string (i:1)
|
COBOL | 1 |
i⌷string
|
APL | 0 eller 1 |
{ Example in Pascal }
var
MyStr: string = 'Hello, World';
MyChar: Char;
begin
MyChar := MyStr[2]; // 'e'
# Example in ALGOL 68 # "Hello, World"[2]; // 'e'
// Example in C
#include <stdio.h> // for 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 <iostream> // for "cout"
#include <string.h> // 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')
Sammenlign (heltalsresultat)
| Definition |
compare(string1,string2) returnerer helt tal.
|
|---|---|
| Beskrivelse | Sammenligner to strenge med hinanden. Hvis de er ækvivalente, returneres et nul. Ellers vil de fleste af disse rutiner returnere et positivt eller negativt resultat svarende til, om streng 1 er leksikografisk større end eller mindre end henholdsvis streng 2 . Undtagelserne er Scheme- og Rexx -rutinerne, der returnerer indekset for det første mismatch, og Smalltalk, der svarer på en sammenligningskode, der fortæller, hvordan modtageren sorterer i forhold til strengparameteren. |
| Format | Sprog |
|---|---|
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
|
Rubin , C ++ (STL, C ++ 20 ) |
string1.compare(string2)
|
C ++ (STL), Swift (Foundation) |
compare(string1, string2)
|
Rexx , Frø 7 |
CompareStr(string1, string2)
|
Pascal , Object Pascal ( Delphi ) |
string1.compareTo(string2)
|
Cobra , Java |
string1.CompareTo(string2)
|
VB .NET , C# , F# |
(compare string1 string2)
|
Clojure |
(string= string1 string2)
|
Almindelig Lisp |
(string-compare string1 string2 p< p= p>)
|
Ordning (SRFI 13) |
(string= string1 string2)
|
ISLISP |
compare string1 string2
|
OCaml |
String.compare (string1, string2)
|
Standard ML |
compare string1 string2
|
Haskell |
[string]::Compare(string1, string2)
|
Windows PowerShell |
[string1 compare:string2]
|
Objective-C ( NSString *kun)
|
LLT(string1,string2)
|
Fortran |
string1.localeCompare(string2)
|
JavaScript |
bytes.Compare([]byte(string1), []byte(string2))
|
Gå |
string compare ?-nocase? ?-length int? string1 string2
|
Tcl |
compare(string1,string2,count)
|
PL/I |
string1.cmp(string2)
|
Rust |
# 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)
Sammenlign (relationel operatørbaseret, boolsk resultat)
| Definition |
string1 OP string2ELLER returnerer boolsk.
(compare string1 string2) |
|---|---|
| Beskrivelse | Leksikografisk sammenligner to strenge ved hjælp af en relationel operator eller funktion. Boolsk resultat returneret. |
| Format | Sprog |
|---|---|
string1 OP string2, hvor OPkan være hvilken som helst af =, <>, <, >, <=og>=
|
Pascal , Object Pascal ( Delphi ), OCaml , Seed7 , Standard ML , BASIC , VB , VB .NET , F# |
string1 OP string2, hvor OPkan være hvilken som helst af =, /=, ≠, <, >, <=, ≤og ≥; Også: EQ, NE, LT, LE, GEogGT
|
ALGOL 68 |
(stringOP? string1 string2), hvor OPkan være en af =, -ci=, <, -ci<, >, -ci>, <=, -ci<=, >=og -ci>=(operatører, der starter med ' -ci', er ufølsomme for store og små bogstaver)
|
Ordning |
(stringOP string1 string2), hvor OPkan være en af =, -ci=, <>, -ci<>, <, -ci<, >, -ci>, <=, -ci<=, >=og -ci>=(operatører, der starter med ' -ci', er ufølsomme for store og små bogstaver)
|
Ordning (SRFI 13) |
(stringOP string1 string2), hvor OPkan være en af =, -equal, /=, -not-equal, <, -lessp, >, -greaterp, <=, -not-greaterp, >=og -not-lessp(de verbale operatorer er ufølsomme for store og små bogstaver)
|
Almindelig Lisp |
(stringOP string1 string2), hvor OPkan være hvilken som helst af =, /=, <, >, <=,og>=
|
ISLISP |
string1 OP string2, hvor OPkan være hvilken som helst af =, \=, <, >, <=og>=
|
Rexx |
string1 OP string2, hvor OPkan være hvilken som helst af =, ¬=, <, >, <=, >=, ¬<og¬>
|
PL/I |
string1 OP string2, hvor OPkan være hvilken som helst af =, /=, <, >, <=og>=
|
Ada |
string1 OP string2, hvor OPkan være hvilken som helst af ==, /=, <, >, =<og>=
|
Erlang |
string1 OP string2, hvor OPkan være hvilken som helst af ==, /=, <, >, <=og>=
|
Haskell |
string1 OP string2, hvor OPkan være hvilken som helst af ogeq, ne, lt, gt, lege
|
Perl , Raku |
string1 OP string2, hvor OPkan være hvilken som helst af ==, !=, <, >, <=og>=
|
C ++ (STL), C# , D , Go , JavaScript , Python , PHP , Ruby , Rust , Swift |
string1 OP string2, hvor OPkan være en af -eq, -ceq, -ne, -cne, -lt, -clt, -gt, -cgt, -le, -cle, -ge,og -cge (operatører, der starter med ' c' er store og små bogstaver)
|
Windows PowerShell |
string1 OP string2, hvor OPkan være hvilken som helst af ==, ~=, <, >, <=og>=
|
Lua |
string1 OP string2, hvor OPkan være hvilken som helst af =, ~=, <, >, <=og>=
|
Småsnak |
string1 OP string2, hvor OPkan være hvilken som helst af ==, /=, <, >, <=og >=; Also: .EQ., .NE., .LT., .LE., .GT.og.GE.
|
Fortran . |
string1 OP string2hvor OPkan være en af =, <>, <, >, <=, >=såvel som formulerede ækvivalenter
|
COBOL |
string1 OP string2hvor OPkan være hvilken som helst af ==, <>, <, >, <=og>=
|
Cobra |
string1 OP string2er tilgængelig i syntaksen, men betyder sammenligning af pointerne, der peger på strengene, ikke af strengens indhold. Brug funktionen Sammenlign (heltalsresultat).
|
C , Java |
string1.METHOD(string2)hvor METHODer nogen af eq, ne, gt, lt, ge,le
|
Rust |
% 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
Sammenkædning
| Definition |
concatenate(string1,string2) returnerer streng.
|
|---|---|
| Beskrivelse | Sammenkæder (forbinder) to strenge med hinanden og returnerer den kombinerede streng. Bemærk, at nogle sprog som C har mutable strenge, så den anden streng bliver virkelig vedhæftet den første streng, og den muterede streng returneres. |
| Format | Sprog |
|---|---|
string1 & string2
|
Ada , FreeBASIC , Seed7 , BASIC , VB , VB .NET , COBOL (kun mellem bogstaver) |
strcat(string1, string2)
|
C , C ++ ( kun)
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 , F# , Swift , Turing , VB |
string1 ~ string2
|
D , Raku |
(string-append string1 string2)
|
Skema , ISLISP |
(concatenate 'string string1 string2)
|
Almindelig 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]
|
Objective-C ( NSString *kun)
|
string1 .. string2
|
Lua |
string1 , string2
|
Smalltalk , APL |
string1 string2
|
SNOBOL |
string1string2
|
Bash skal |
string1 <> string2
|
Mathematica |
| konkat streng 1 streng 2 | 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"
Indeholder
| Definition |
contains(string,substring) returnerer boolsk
|
|---|---|
| Beskrivelse | Returnerer, om strengen indeholder delstreng som en delstreng. Dette svarer til at bruge Find og derefter opdage, at det ikke resulterer i fejltilstanden i den tredje kolonne i sektionen Find. Nogle sprog har imidlertid en enklere måde at udtrykke denne test på. |
| Relaterede | Find |
| Format | Sprog |
|---|---|
string_in_string(string, loc int, substring)
|
ALGOL 68 |
ContainsStr(string, substring)
|
Objekt Pascal ( Delphi ) |
strstr(string, substring) != NULL
|
C , C ++ ( char *kun)
|
string.Contains(substring)
|
C# , VB .NET , Windows PowerShell , F# |
string.contains(substring)
|
Cobra , Java (1.5+), Raku , Rust , C ++ ( C ++ 23 ) |
string.indexOf(substring) >= 0
|
JavaScript |
strpos(string, substring) !== false
|
PHP |
str_contains(string, substring)
|
PHP (8+) |
pos(string, substring) <> 0
|
Frø 7 |
substring in string
|
Cobra , 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 ( Squeak , Pharo , Smalltalk/X ) |
String.isSubstring substring string
|
Standard ML |
(search substring string)
|
Almindelig Lisp |
(not (null (string-index substring string)))
|
ISLISP |
(substring? substring string)
|
Clojure |
! StringFreeQ[string, substring]
|
Mathematica |
index(string, substring, startpos)>0
|
Fortran, PL/I |
index(string, substring, occurrence)>0
|
Vælg Basic |
strings.Contains(string, substring)
|
Gå |
string.find(substring) != string::npos
|
C ++ |
[string containsString:substring]
|
Objective-C ( NSString *kun, iOS 8+/OS X 10.10+)
|
string.rangeOfString(substring) != nil
|
Swift (Foundation) |
∨/substring⍷string
|
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 "
Lighed
Test, hvis to strenge er ens. Se også #Sammenlign og #Sammenlign . Bemærk, at udførelse af lighedstjek via et generisk sammenligning med heltalsresultat ikke kun er forvirrende for programmøren, men ofte er en betydeligt dyrere operation; Dette gælder især, når man bruger " C-strenge ".
| Format | Sprog |
|---|---|
string1 == string2
|
Python , C ++ (STL), C# , Cobra , Go , JavaScript (lighed), PHP (lighed), Ruby , Rust , Erlang , Haskell , Lua , D , Mathematica , Swift |
string1 === string2
|
JavaScript , PHP |
string1 == string2 or
|
Fortran |
strcmp(string1, string2) == 0
|
C |
(string=? string1 string2)
|
Ordning |
(string= string1 string2)
|
Fælles 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
|
Bourne Shell |
string1 eq string2
|
Perl , Raku |
string1.equals(string2)
|
Cobra , Java |
string1.Equals(string2)
|
C# |
string1 -eq string2, or
|
Windows PowerShell |
[string1 isEqualToString:string2], or
|
Objective-C ( NSString *kun)
|
string1 ≡ string2
|
APL |
string1.eq(string2)
|
Rust |
// Example in C#
"hello" == "world" // returns false
' Example in Visual Basic
"hello" = "world" ' returns false
# Examples in Perl 5
'hello' eq 'world' # returns 0
'hello' eq 'hello' # returns 1
# Examples in Raku
'hello' eq 'world' # returns False
'hello' eq 'hello' # returns True
# Example in Windows PowerShell
"hello" -eq "world" # returns false
⍝ Example in APL
'hello' ≡ 'world' ⍝ returns 0
Find
| Definition |
find(string,substring) returnerer helt tal
|
|---|---|
| Beskrivelse | Returnerer positionen for starten af den første forekomst af delstreng i streng . Hvis delstrengen ikke findes, returnerer de fleste af disse rutiner en ugyldig indeksværdi--1 hvor indekser er 0-baserede, 0 hvor de er 1-baserede-eller en værdi, der skal tolkes som boolsk FALSK. |
| Relaterede | instrrev |
| Format | Sprog | Hvis ikke fundet |
|---|---|---|
string in string(substring, pos, string[startpos:])
|
ALGOL 68 | returnerer BOOL: TRUE eller FALSE, og position i REF INT pos. |
InStr(«startpos,»string,substring)
|
VB (positioner starter ved 1) | returnerer 0 |
INSTR$(string,substring)
|
BASIC (positioner starter ved 1) | returnerer 0 |
index(string,substring)
|
AWK | returnerer 0 |
index(string,substring«,startpos»)
|
Perl 5 | returnerer -1 |
index(string,substring«,startpos») string.index(substring,«,startpos»)
|
Raku | vender tilbage Nil |
instr(«startpos,»string,substring)
|
FreeBASIC | returnerer 0 |
strpos(string,substring«,startpos»)
|
PHP | returnerer FALSK |
locate(string, substring)
|
Ingres | returnerer strenglængde + 1 |
strstr(string, substring)
|
C , C ++ ( kun, vender markøren tilbage til første tegn)
char * |
returnerer NULL |
std.string.indexOf(string, substring)
|
D | returnerer -1 |
pos(string, substring«, startpos»)
|
Frø 7 | returnerer 0 |
strings.Index(string, substring)
|
Gå | returnerer -1 |
pos(substring, string)
|
Pascal , Object Pascal ( Delphi ) | returnerer 0 |
pos(substring, string«,startpos»)
|
Rexx | returnerer 0 |
string.find(substring«,startpos»)
|
C ++ (STL) | returnerer std :: string :: npos |
string.find(substring«,startpos«,endpos»»)
|
Python | returnerer -1 |
string.index(substring«,startpos«,endpos»»)
|
hæver ValueError | |
string.index(substring«,startpos»)
|
Rubin | returnerer nul |
string.indexOf(substring«,startpos»)
|
Java , JavaScript | returnerer -1 |
string.IndexOf(substring«,startpos«, charcount»»)
|
VB .NET , C# , Windows PowerShell , F# | returnerer -1 |
string:str(string, substring)
|
Erlang | returnerer 0 |
(string-contains string substring)
|
Ordning (SRFI 13) | returnerer #f |
(search substring string)
|
Almindelig Lisp | returnerer NIL |
(string-index substring string)
|
ISLISP | vender tilbage nil
|
List.findIndex (List.isPrefixOf substring) (List.tails string)
|
Haskell (returnerer bare indeks ) | returnerer intet |
Str.search_forward (Str.regexp_string substring) string 0
|
OCaml | hæver Not_found |
Substring.size (#1 (Substring.position substring (Substring.full string)))
|
Standard ML | returnerer strenglængde |
[string rangeOfString:substring].location
|
Objective-C ( NSString *kun)
|
returnerer NSNotFound |
string.find(string, substring)
|
Lua | returnerer nul |
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlock
|
Smalltalk ( Squeak , Pharo ) | evaluere aBlock, som er en bloklukning (eller en hvilken som helst objektforståelsesværdi) returnerer 0 |
startpos = INDEX(string, substring «,back» «, kind»)
|
Fortran | returnerer 0, hvis delstreng ikke er i streng; returnerer LEN (streng) +1, hvis delstrengen er tom |
POSITION(substring IN string)
|
SQL | returnerer 0 (positioner starter ved 1) |
index(string, substring, startpos )
|
PL/I | returnerer 0 (positioner starter ved 1) |
index(string, substring, occurrence )
|
Vælg Basic | returnerer 0, hvis forekomsten af delstreng ikke er i en streng; (positioner starter ved 1) |
string.indexOf(substring«,startpos«, charcount»»)
|
Cobra | returnerer -1 |
string first substring string startpos
|
Tcl | returnerer -1 |
(substring⍷string)⍳1
|
APL | returnerer 1 + den sidste position i strengen |
string.find(substring)
|
Rust | vender tilbage 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"
Find karakter
| Definition |
find_character(string,char) returnerer helt tal
|
|---|---|
| Beskrivelse | Returnerer placeringen af starten på den første forekomst af tegntegnet i streng . Hvis tegnet ikke findes, returnerer de fleste af disse rutiner en ugyldig indeksværdi--1 hvor indekser er 0-baserede, 0 hvor de er 1-baserede-eller en værdi, der skal tolkes som boolsk FALSK. Dette kan opnås som et specielt tilfælde af #Find , med en streng på et tegn; men det kan være enklere eller mere effektivt på mange sprog at finde et enkelt tegn. På mange sprog er tegn og strenge også forskellige typer, så det er praktisk at have en sådan funktion. |
| Relaterede | Find |
| Format | Sprog | Hvis ikke fundet |
|---|---|---|
char in string(char, pos, string[startpos:])
|
ALGOL 68 | returnerer BOOL: TRUE eller FALSE, og position i REF INT pos. |
instr(string, any char«,startpos») (forkælelse, kan indeholde flere dem en forkælelse, i hvilket tilfælde placeringen af den første optræden af nogen af dem returneres.)
|
FreeBASIC | returnerer 0 |
strchr(string,char)
|
C , C ++ ( kun, vender markøren tilbage til karakter)
char * |
returnerer NULL |
std.string.find(string, dchar)
|
D | returnerer -1 |
string.find(char«,startpos»)
|
C ++ (STL) | returnerer std :: string :: npos |
pos(string, char«, startpos»)
|
Frø 7 | returnerer 0 |
strings.IndexRune(string,char)
|
Gå | returnerer -1 |
string.indexOf(char«,startpos»)
|
Java , JavaScript | returnerer -1 |
string.IndexOf(char«,startpos«, charcount»»)
|
VB .NET , C# , Windows PowerShell , F# | returnerer -1 |
(position char string)
|
Almindelig Lisp | returnerer NIL |
(char-index char string)
|
ISLISP | vender tilbage nil
|
List.elemIndex char string
|
Haskell (returnerer )
Just index |
vender tilbage Nothing
|
String.index string char
|
OCaml | hæver Not_found |
position = SCAN (string, set «, back» «, kind») or
|
Fortran | returnerer nul |
string indexOf: char ifAbsent: aBlock
|
Småsnak | evaluere aBlockhvilken der er en BlockClosure(eller en objektforståelsesværdi) returnerer 0 returnerer trueellerfalse
|
index(string, char, startpos )
|
PL/I | returnerer 0 (positioner starter ved 1) |
string.index(?char)
|
Rubin | returnerer nul |
strpos(string,char,startpos)
|
PHP | vender tilbage false
|
string.indexOf(char«,startpos«, charcount»»)
|
Cobra | returnerer -1 |
string⍳char
|
APL | returnerer 1 + den sidste position i strengen |
string.find(substring)
|
Rust | vender tilbage 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 Givet et sæt tegn, returnerer SCAN placeringen af det første tegn, der er fundet, mens VERIFY returnerer placeringen af det første tegn, der ikke tilhører sættet.
Format
| Definition |
format(formatstring, items) returnerer streng
|
|---|---|
| Beskrivelse | Returnerer den formaterede strengrepræsentation af et eller flere elementer. |
| Format | Sprog | Formater strengsyntaks | |
|---|---|---|---|
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)
|
Objekt Pascal ( Delphi ) |
|
|
fmt.Sprintf(formatstring, items)
|
Gå | C | |
printf -v outputstring formatstring items
|
Bash skal | C | |
formatstring % (items)
|
Python , Ruby | C | |
formatstring.format(items)
|
Python | .NET | |
fformatstring
|
Python 3 | ||
Printf.sprintf formatstring items
|
OCaml , F# | C | |
Text.Printf.printf formatstring items
|
Haskell (GHC) | C | |
formatstring printf: items
|
Småsnak | C | |
String.format(formatstring, items)
|
Java | C | |
String.Format(formatstring, items)
|
VB .NET , C# , F# | .NET | |
(format formatstring items)
|
Ordning (SRFI 28) | Lisp | |
(format nil formatstring items)
|
Almindelig Lisp | Lisp | |
(format formatstring items)
|
Clojure | Lisp | |
formatstring -f items
|
Windows PowerShell | .NET | |
[NSString stringWithFormat:formatstring, items]
|
Objective-C ( NSString *kun)
|
C | |
String(format:formatstring, items)
|
Swift (Foundation) | C | |
string.format(formatstring, items)
|
Lua | C | |
WRITE (outputstring, formatstring) items
|
Fortran | Fortran | |
put string(string) edit(items)(format)
|
PL/I | PL/I (ligner Fortran) | |
String.format(formatstring, items)
|
Cobra | .NET | |
format formatstring items
|
Tcl | C | |
formatnumbers ⍕ items eller formatstring ⎕FMT items
|
APL | APL | |
format!(formatstring, items)
|
Rust | 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" */
Ulighed
Tester hvis to strenge ikke er ens. Se også #Lighed .
| Format | Sprog |
|---|---|
string1 ne string2, or string1 NE string2
|
ALGOL 68 -bemærk: operatoren " ne " er bogstaveligt talt med fed skrift. |
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 (forældet) |
string1 # string2
|
BASIC (nogle implementeringer) |
string1 ne string2
|
Perl , Raku |
(string<> string1 string2)
|
Ordning (SRFI 13) |
(string/= string1 string2)
|
Almindelig Lisp |
(string/= string1 string2)
|
ISLISP |
(not= string1 string2)
|
Clojure |
string1 != string2
|
C ++ (STL), C# , Go , JavaScript (ligner ikke), PHP (ikke ens), Python , Ruby , Rust , Swift , D , Mathematica |
string1 !== string2
|
JavaScript , PHP |
string1 \= string2
|
Rexx |
string1 ¬= string2
|
PL/I |
test string1 != string2, or
|
Bourne Shell |
string1 -ne string2, or
|
Windows PowerShell |
string1 ~= string2
|
Lua , Smalltalk |
string1 ≢ string2
|
APL |
string1.ne(string2)
|
Rust |
// 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
indeks
se #Find
indeks af
se #Find
instr
se #Find
instrrev
se #rfind
tilslutte
| Definition |
join(separator, list_of_strings) returnerer en liste over strenge, der er forbundet med en separator
|
|---|---|
| Beskrivelse | Slutter listen over strenge til en ny streng med separatorstrengen mellem hver af underlagene. Modsat splittelse . |
| Relaterede | sprintf |
| Format | Sprog |
|---|---|
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 |
(string-join array_of_strings separator)
|
Ordning (SRFI 13) |
(format nil "~{~a~^separator~}" array_of_strings)
|
Almindelig Lisp |
(clojure.string/join separator list_of_strings)
|
Clojure |
strings.Join(array_of_strings, separator)
|
Gå |
join(array_of_strings, separator)
|
Frø 7 |
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
|
Windows PowerShell |
[array_of_strings componentsJoinedByString:separator]
|
Objective-C ( NSString *kun)
|
table.concat(table_of_strings, separator)
|
Lua |
{|String streamContents: [ :stream | collectionOfAnything asStringOn: stream delimiter: separator ]
|
Smalltalk ( Squeak , Pharo ) |
array_of_strings.join(separator«, final_separator»)
|
Cobra |
sequence_of_strings.joinWithSeparator(separator)
|
Swift 2.x |
1↓∊separator,¨list_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
<a b c>.join('-'); # 'a-b-c'
# Example in Python
"-".join(["a", "b", "c"]) # 'a-b-c'
# Example in Ruby
["a", "b", "c"].join("-") # 'a-b-c'
; Example in Scheme
(use-modules (srfi srfi-13))
(string-join '("a" "b" "c") "-") ; "a-b-c"
sidste indeks
se #rfind
venstre
| Definition |
left(string,n) returnerer streng
|
|---|---|
| Beskrivelse | Returnerer den venstre n del af en streng. Hvis n er større end strengens længde, returnerer de fleste implementeringer hele strengen (der findes undtagelser - se kodeeksempler). Bemærk, at for kodninger med variabel længde, f.eks. UTF-8 , UTF-16 eller Shift-JIS , kan det være nødvendigt at fjerne strengpositioner for enden for at undgå ugyldige strenge. |
| Format | Sprog |
|---|---|
string (string'First .. string'First + n - 1)
|
Ada |
substr(string, 0, n)
|
AWK (ændrer streng), Perl , PHP , Raku |
LEFT$(string,n)
|
BASIC , VB |
left(string,n)
|
VB , FreeBASIC , Ingres , Pick Basic |
strncpy(string2, string, n)
|
C standardbibliotek |
string.substr(0,n)
|
C ++ (STL), Raku |
[string substringToIndex:n]
|
Objective-C ( NSString *kun)
|
(apply str (take n string))
|
Clojure |
string[0 .. n]
|
D |
string:substr(string, start, length)
|
Erlang |
(subseq string 0 n)
|
Almindelig Lisp |
string[:n]
|
Cobra , Go , Python |
left(string,n «,padchar»)
|
Rexx , Erlang |
string[0, n]
|
Rubin |
string[1, n]
|
Vælg Basic |
string[ .. n]
|
Frø 7 |
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 , JavaScript |
(string-take string n)
|
Ordning (SRFI 13) |
take n string
|
Haskell |
String.extract (string, n, NONE)
|
Standard ML |
String.sub string 0 n
|
OCaml |
string.[..n]
|
F# |
string.sub(string, 1, n)
|
Lua |
string first: n
|
Smalltalk ( Squeak , Pharo ) |
string(:n)
|
Fortran |
StringTake[string, n]
|
Mathematica |
string («FUNCTION» LENGTH(string) - n:n)
|
COBOL |
string.substring(0, n)
|
Cobra |
n↑string.
|
APL |
string[0..n]string[..n]string.get(0..n)string.get(..n)
|
Rust |
# 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
se #længde
længde
| Definition |
length(string) returnerer et helt tal
|
|---|---|
| Beskrivelse | Returnerer længden af en streng (tæller ikke nul -terminatoren eller andre af strengens interne strukturoplysninger). En tom streng returnerer en længde på 0. |
| Format | Vender tilbage | Sprog |
|---|---|---|
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
|
Antal UTF-16 kodeenheder | VB .NET , C# , Windows PowerShell , F# |
chars(string) string.chars
|
Antal grafemer (NFG) | Raku |
codes(string) string.codes
|
Antal Unicode -kodepunkter | Raku |
string.size OR string.length
|
Antal bytes | Rubin |
strlen(string)
|
Antal bytes | C , PHP |
string.length()
|
|
C ++ (STL) |
string.length
|
|
Cobra , D , JavaScript |
string.length()
|
Antal UTF-16 kodeenheder | Java |
(string-length string)
|
|
Ordning |
(length string)
|
|
Fælles Lisp , ISLISP |
(count string)
|
|
Clojure |
String.length string
|
|
OCaml |
size string
|
|
Standard ML |
length string
|
Antal Unicode -kodepunkter | Haskell |
string.length
|
Antal UTF-16 kodeenheder |
Objective-C ( NSString *kun)
|
string.characters.count
|
Antal tegn | Swift (2.x) |
count(string)
|
Antal tegn | Swift (1,2) |
countElements(string)
|
Antal tegn | Swift (1,0–1,1) |
string.len(string)
|
|
Lua |
string size
|
|
Småsnak |
LEN(string), or LEN_TRIM(string)
|
|
Fortran |
StringLength[string]
|
|
Mathematica |
«FUNCTION» LENGTH(string) eller
|
henholdsvis antal tegn og antal bytes | COBOL |
string length string
|
en decimalstreng, der angiver antallet af tegn | Tcl |
≢ string
|
APL | |
string.len()
|
Antal bytes | Rust |
string.chars().count()
|
Antal Unicode -kodepunkter | Rust |
// 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
finde
se #Find
Små bogstaver
| Definition |
lowercase(string) returnerer streng
|
|---|---|
| Beskrivelse | Returnerer strengen med små bogstaver. |
| Format | Sprog |
|---|---|
LCase(string)
|
VB |
lcase(string)
|
FreeBASIC |
lc(string)
|
Perl , Raku |
string.lc
|
Raku |
tolower(char)
|
C |
std.string.toLower(string)
|
D |
transform(string.begin(), string.end(), result.begin(), ::tolower)
|
C ++ |
lowercase(string)
|
Objekt Pascal ( Delphi ) |
strtolower(string)
|
PHP |
lower(string)
|
Frø 7 |
echo "string" | tr 'A-Z' 'a-z'
|
Unix |
string.lower()
|
Python |
downcase(string)
|
Vælg Basic |
string.downcase
|
Rubin |
strings.ToLower(string)
|
Gå |
(string-downcase string)
|
Skema (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 *kun), Swift (Foundation)
|
string.lower(string)
|
Lua |
string asLowercase
|
Småsnak |
LOWER(string)
|
SQL |
lowercase(string)
|
PL/I |
ToLowerCase[string]
|
Mathematica |
«FUNCTION» LOWER-CASE(string)
|
COBOL |
string.toLower
|
Cobra |
string tolower string
|
Tcl |
string.to_lowercase()
|
Rust |
// Example in C#
"Wiki means fast?".ToLower(); // "wiki means fast?"
; Example in Scheme
(use-modules (srfi srfi-13))
(string-downcase "Wiki means fast?") ; "wiki means fast?"
/* Example in C */
#include <ctype.h>
#include <stdio.h>
int main(void) {
char string[] = "Wiki means fast?";
int i;
for (i = 0; i < sizeof(string) - 1; ++i) {
/* transform characters in place, one by one */
string[i] = tolower(string[i]);
}
puts(string); /* "wiki means fast?" */
return 0;
}
# Example in Raku
"Wiki means fast?".lc; # "wiki means fast?"
midt
se #substring
skillevæg
| Definition | <string> .partition ( separator ) returnerer understrengen før separatoren; separatoren; derefter delstrengen efter separatoren. |
|---|---|
| Beskrivelse | Opdeler den givne streng med separatoren og returnerer de tre underlag, der tilsammen udgør originalen. |
| Format | Sprog | Kommentarer |
|---|---|---|
string.partition(separator)
|
Python , Ruby (1.9+) | |
lists:partition(pred, string)
|
Erlang | |
split /(separator)/, string, 2
|
Perl 5 | |
split separator, string, 2 string.split( separator, 2 )
|
Raku | Separator behøver ikke at være et regulært udtryk |
# 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');
erstatte
| Definition |
replace(string, find, replace) returnerer streng
|
|---|---|
| Beskrivelse | Returnerer en streng med find forekomster ændret til at erstatte . |
| Format | Sprog |
|---|---|
changestr(find, string, replace)
|
Rexx |
std.string.replace(string, find, replace)
|
D |
Replace(string, find, replace)
|
VB |
replace(string, find, replace)
|
Frø 7 |
change(string, find, replace)
|
Vælg 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 |
string.replaceAll(find_regex, replace)
|
Java |
string.gsub(find, replace)
|
Rubin |
string =~ s/find_regex/replace/g
|
Perl 5 |
string.subst(find, replace, :g)
|
Raku |
string.replace(find, replace, "g") or
|
JavaScript |
echo "string" | sed 's/find_regex/replace/g'
|
Unix |
string.replace(find, replace), or
|
Windows PowerShell |
Str.global_replace (Str.regexp_string find) replace string
|
OCaml |
[string stringByReplacingOccurrencesOfString:find withString:replace]
|
Objective-C ( NSString *kun)
|
string.stringByReplacingOccurrencesOfString(find, withString:replace)
|
Swift (Foundation) |
string.gsub(string, find, replace)
|
Lua |
string copyReplaceAll: find with: replace
|
Smalltalk ( Squeak , Pharo ) |
string map {find replace} string
|
Tcl |
StringReplace[string, find -> replace]
|
Mathematica |
strings.Replace(string, find, replace, -1)
|
Gå |
INSPECT string REPLACING ALL/LEADING/FIRST find BY replace
|
COBOL |
find_regex ⎕R replace_regex ⊢ string
|
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"
baglæns
| Definition |
reverse(string)
|
|---|---|
| Beskrivelse | Vender rækkefølgen af tegnene i strengen. |
| Format | Sprog |
|---|---|
reverse string
|
Perl 5 , Haskell |
flip string string.flip
|
Raku |
lists:reverse(string)
|
Erlang |
strrev(string)
|
PHP |
string[::-1]
|
Python |
(string-reverse string)
|
Ordning (SRFI 13) |
(reverse string)
|
Almindelig Lisp |
string.reverse
|
Ruby , D (ændrer streng) |
new StringBuilder(string).reverse().toString()
|
Java |
std::reverse(string.begin(), string.end());
|
C ++ ( std::stringkun, ændrer streng)
|
StrReverse(string)
|
VB |
string.Reverse().ToString()
|
VB .NET , C# |
implode (rev (explode string))
|
Standard ML |
string.split("").reverse().join("")
|
JavaScript |
string.reverse(string)
|
Lua |
string reverse
|
Småsnak |
StringReverse[string]
|
Mathematica |
reverse(string)
|
PL/I |
«FUNCTION» REVERSE(string)
|
COBOL |
string.toCharArray.toList.reversed.join()
|
Cobra |
String(string.characters.reverse())
|
Swift (2.x) |
String(reverse(string))
|
Swift (1,2) |
string reverse string
|
Tcl |
⌽string
|
APL |
string.chars().rev().collect::<String>()
|
Rust |
" 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
| Definition |
rfind(string,substring) returnerer helt tal
|
|---|---|
| Beskrivelse | Returnerer positionen for starten af den sidste forekomst af delstreng i streng . Hvis delstrengen ikke findes, returnerer de fleste af disse rutiner en ugyldig indeksværdi--1 hvor indekser er 0-baserede, 0 hvor de er 1-baserede-eller en værdi, der skal tolkes som boolsk FALSK. |
| Relaterede | instr |
| Format | Sprog | Hvis ikke fundet |
|---|---|---|
InStrRev(«startpos,» string,substring)
|
VB | returnerer 0 |
instrrev(«startpos,» string,substring)
|
FreeBASIC | returnerer 0 |
rindex(string,substring«,startpos»)
|
Perl 5 | returnerer -1 |
rindex(string,substring«,startpos») string.rindex(substring«,startpos»)
|
Raku | vender tilbage Nil |
strrpos(string,substring«,startpos»)
|
PHP | returnerer FALSK |
string.rfind(substring«,startpos»)
|
C ++ (STL) | returnerer std :: string :: npos |
std.string.rfind(string, substring)
|
D | returnerer -1 |
string.rfind(substring«,startpos«, endpos»»)
|
Python | returnerer -1 |
string.rindex(substring«,startpos«, endpos»»)
|
hæver ValueError | |
rpos(string, substring«,startpos»)
|
Frø 7 | returnerer 0 |
string.rindex(substring«,startpos»)
|
Rubin | returnerer nul |
strings.LastIndex(string, substring)
|
Gå | returnerer -1 |
string.lastIndexOf(substring«,startpos»)
|
Java , JavaScript | returnerer -1 |
string.LastIndexOf(substring«,startpos«, charcount»»)
|
VB .NET , C# , Windows PowerShell , F# | returnerer -1 |
(search substring string :from-end t)
|
Almindelig Lisp | returnerer NIL |
[string rangeOfString:substring options:NSBackwardsSearch].location
|
Objective-C ( NSString *kun)
|
returnerer NSNotFound |
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1)
|
OCaml | hæver Not_found |
string.match(string, '.*()'..substring)
|
Lua | returnerer nul |
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring,
|
Ada | returnerer 0 |
string.lastIndexOf(substring«,startpos«, charcount»»)
|
Cobra | returnerer -1 |
string lastIndexOfString:substring
|
Småsnak | returnerer 0 |
string last substring string startpos
|
Tcl | returnerer -1 |
(⌽<\⌽substring⍷'string')⍳1
|
APL | returnerer -1 |
string.rfind(substring)
|
Rust | vender tilbage 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
ret
| Definition |
right(string,n) returnerer streng
|
|---|---|
| Beskrivelse | Returnerer den højre n del af en streng. Hvis n er større end strengens længde, returnerer de fleste implementeringer hele strengen (der findes undtagelser - se kodeeksempler). |
| Format | Sprog |
|---|---|
string (string'Last - n + 1 .. string'Last)
|
Ada |
Right(string,n)
|
VB |
RIGHT$(string,n)
|
GRUNDLÆGGENDE |
right(string,n)
|
FreeBASIC , Ingres , Pick Basic |
strcpy(string2, string+n)(n må ikke være større end strengens længde )
|
C |
string.Substring(string.Length()-n)
|
C# |
string[len(string)-n:]
|
Gå |
string.substring(string.length()-n)
|
Java |
string.slice(-n)
|
JavaScript |
right(string,n «,padchar»)
|
Rexx , Erlang |
substr(string,-n)
|
Perl 5 , PHP |
substr(string,*-n) string.substr(*-n)
|
Raku |
string[-n:]
|
Cobra , Python |
string[n]
|
Vælg Basic |
(string-take-right string n)
|
Ordning (SRFI 13) |
string[-n..-1]
|
Rubin |
string[$-n .. $]
|
D |
String.sub string (String.length string - n) n
|
OCaml |
string.sub(string, -n)
|
Lua |
string last: n
|
Smalltalk ( Squeak , Pharo ) |
StringTake[string, -n]
|
Mathematica |
string (1:n)
|
COBOL |
¯n↑string.
|
APL |
string[n..]string.get(n..)
|
Rust |
// 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"
deling
| Definition | <string> .rpartition ( separator ) Søger efter separatoren fra højre til venstre i strengen og returnerer derefter understrengen før separatoren; separatoren; derefter delstrengen efter separatoren. |
|---|---|
| Beskrivelse | Opdeler den givne streng med den højeste separator og returnerer de tre underlag, der tilsammen udgør originalen. |
| Format | Sprog |
|---|---|
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')
skive
se #substring
dele
| Definition | <string> .split ( separator [, grænse ]) opdeler en streng på separator, eventuelt kun op til et begrænset antal underlag |
|---|---|
| Beskrivelse | Opdeler den givne streng efter forekomster af separatoren (i sig selv en streng) og returnerer en liste (eller array) af substraterne. Hvis grænsen er givet, efter at grænsen - 1 separatorer er blevet læst, bliver resten af strengen til den sidste delstreng, uanset om den har nogen separatorer i den. Scheme- og Erlang -implementeringerne ligner hinanden, men adskiller sig på flere måder. JavaScript adskiller sig også ved at det klipper, det sætter ikke resten af strengen i det sidste element. Se eksemplet her . Cobra -implementeringen vil som standard bruges til mellemrum. Modsat tilslutning . |
| Format | Sprog |
|---|---|
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)
|
Gå |
(string-tokenize string« charset« start« end»»»)
|
Ordning (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 *kun)
|
string.componentsSeparatedByString(separator)
|
Swift (Foundation) |
TStringList.Delimiter, TStringList.DelimitedText
|
Objekt Pascal |
StringSplit[string, separator«, limit»]
|
Mathematica |
string.split«(sepchars«, limit«, options»»)»
|
Cobra |
split string separator
|
Tcl |
(separator≠string)⊂stringeller i henholdsvis APL2 og Dyalog APL 16.0
separator(≠⊆⊢)string |
APL |
string.split(separator)
|
Rust |
// 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
se #Format
strimmel
se #trim
strcmp
se #Sammenlign (heltal resultat)
substring
| Definition |
substring(string, startpos, endpos)returnerer streng returnerer streng
substr(string, startpos, numChars) |
|---|---|
| Beskrivelse | Returnerer en understreng af streng mellem start ved startpos og endpos , eller startende ved startpos med længde numChars . Den resulterende streng afkortes, hvis der er færre end numChars -tegn ud over startpunktet. endpos repræsenterer indekset efter det sidste tegn i delstrengen. Bemærk, at for kodninger med variabel længde, f.eks. UTF-8 , UTF-16 eller Shift-JIS , kan det være nødvendigt at fjerne strengpositioner for enden for at undgå ugyldige strenge. |
| Format | Sprog |
|---|---|
string[startpos:endpos]
|
ALGOL 68 (ændrer basisindeks) |
string (startpos .. endpos)
|
Ada (ændrer basisindeks) |
Mid(string, startpos, numChars)
|
VB |
mid(string, startpos, numChars)
|
FreeBASIC |
string[startpos+(⍳numChars)-~⎕IO]
|
APL |
MID$(string, startpos, numChars)
|
GRUNDLÆGGENDE |
substr(string, startpos, numChars)
|
AWK (ændrer streng), Perl 5 , PHP |
substr(string, startpos, numChars) string.substr(startpos, numChars)
|
Raku |
substr(string, startpos «,numChars, padChar»)
|
Rexx |
string[startpos:endpos]
|
Cobra , Python , Go |
string[startpos, numChars]
|
Vælg Basic |
string[startpos, numChars]
|
Rubin |
string[startpos .. endpos]
|
Frø 7 |
string.slice(startpos«, endpos»)
|
JavaScript |
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)
|
Objekt Pascal ( Delphi ) |
(substring string startpos endpos)
|
Ordning |
(subseq string startpos endpos)
|
Almindelig Lisp |
(subseq string startpos endpos)
|
ISLISP |
String.sub string startpos numChars
|
OCaml |
substring (string, startpos, numChars)
|
Standard ML |
string:sub_string(string, startpos, endpos)
|
Erlang |
strncpy(result, string + startpos, numChars);
|
C |
string[startpos .. endpos+1]
|
D |
take numChars $ drop startpos string
|
Haskell |
[string substringWithRange:NSMakeRange(startpos, numChars)]
|
Objective-C ( NSString *kun)
|
string.[startpos..endpos]
|
F# |
string.sub(string, startpos, endpos)
|
Lua |
string copyFrom: startpos to: endpos
|
Småsnak |
string(startpos:endpos)
|
Fortran |
SUBSTRING(string FROM startpos «FOR numChars»)
|
SQL |
StringTake[string, {startpos, endpos}]
|
Mathematica |
string (startpos:numChars)
|
COBOL |
| string range string startpos endpos | Tcl |
string[startpos..endpos]string.get(startpos..endpos)
|
Rust |
// 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****" */
Store bogstaver
| Definition |
uppercase(string) returnerer streng
|
|---|---|
| Beskrivelse | Returnerer strengen med store bogstaver. |
| Format | Sprog |
|---|---|
UCase(string)
|
VB |
ucase(string)
|
FreeBASIC |
toupper(string)
|
AWK (ændrer streng) |
uc(string)
|
Perl , Raku |
string.uc
|
Raku |
toupper(char)
|
C (fungerer på et tegn) |
for(size_t i = 0, len = strlen(string); i< len; i++) string[i] = toupper(string[i]);for (char *c = string; *c != '\0'; c++) *c = toupper(*c);
|
C (string / char array) |
std.string.toUpper(string)
|
D |
transform(string.begin(), string.end(), result.begin(), toupper)
|
C ++ |
uppercase(string)
|
Objekt Pascal ( Delphi ) |
upcase(char)
|
Object Pascal ( Delphi ) (fungerer på et tegn) |
strtoupper(string)
|
PHP |
upper(string)
|
Frø 7 |
echo "string" | tr 'a-z' 'A-Z'
|
Unix |
translate(string), eller
|
Rexx |
string.upper()
|
Python |
upcase(string)
|
Vælg Basic |
string.upcase
|
Rubin |
strings.ToUpper(string)
|
Gå |
(string-upcase string)
|
Skema , Fælles 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
|
Objective-C ( NSString *kun), Swift (Foundation)
|
string.upper(string)
|
Lua |
string asUppercase
|
Småsnak |
UPPER(string)
|
SQL |
ToUpperCase[string]
|
Mathematica |
«FUNCTION» UPPER-CASE(string)
|
COBOL |
string.toUpper
|
Cobra |
string toupper string
|
Tcl |
string.to_uppercase()
|
Rust |
// 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?"
trimme
trimeller stripbruges til at fjerne mellemrum fra begyndelsen, slutningen eller både begyndelsen og slutningen af en streng.
| Eksempel på brug | Sprog |
|---|---|
String.Trim([chars])
|
C# , VB.NET , Windows PowerShell |
string.strip();
|
D |
(.trim string)
|
Clojure |
sequence [ predicate? ] trim
|
Faktor |
(string-trim '(#\Space #\Tab #\Newline) string)
|
Almindelig Lisp |
(string-trim string)
|
Ordning |
string.trim()
|
Java , JavaScript (1.8.1+, Firefox 3.5+), Rust |
Trim(String)
|
Pascal , QBasic , Visual Basic , Delphi |
string.strip()
|
Python |
strings.Trim(string, chars)
|
Gå |
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]]
|
Objective-C ved hjælp af kakao |
string withBlanksTrimmed
|
Smalltalk (Squeak, 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+ |
Andre sprog
På sprog uden en indbygget trimfunktion er det normalt enkelt at oprette en brugerdefineret funktion, der udfører den samme opgave.
APL
APL kan bruge regulære udtryk direkte:
Trim←'^ +| +$'⎕R''
Alternativt en funktionel tilgang, der kombinerer boolske masker, der filtrerer væk mellemliggende og efterfølgende rum:
Trim←{⍵/⍨(∨\∧∘⌽∨\∘⌽)' '≠⍵}
Eller vend og fjern mellemrum mellem to gange:
Trim←{(∨\' '≠⍵)/⍵}∘⌽⍣2
AWK
I AWK kan man bruge almindelige udtryk til at trimme:
ltrim(v) = gsub(/^[ \t]+/, "", v)
rtrim(v) = gsub(/[ \t]+$/, "", v)
trim(v) = ltrim(v); rtrim(v)
eller:
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 ++
Der er ingen standard trimfunktion i C eller C ++. De fleste af de tilgængelige strengbiblioteker til C indeholder kode, der implementerer trimning eller funktioner, der letter en effektiv implementering betydeligt. Funktionen er også ofte blevet kaldt EatWhitespace i nogle ikke-standardiserede C-biblioteker.
I C kombinerer programmører ofte en ltrim og rtrim for at implementere trim:
#include <string.h>
#include <ctype.h>
void rtrim(char *str)
{
char *s;
s = str + strlen(str);
while (--s >= str) {
if (!isspace(*s)) break;
*s = 0;
}
}
void ltrim(char *str)
{
size_t n;
n = 0;
while (str[n] != '\0' && isspace((unsigned char) str[n])) {
n++;
}
memmove(str, str + n, strlen(str) - n + 1);
}
void trim(char *str)
{
rtrim(str);
ltrim(str);
}
Den open source C ++ bibliotek Boost har flere trim varianter, herunder en standard:
#include <boost/algorithm/string/trim.hpp>
trimmed = boost::algorithm::trim_copy("string");
Bemærk, at med boosts funktion simpelthen navngivet trimer inputsekvensen ændret på stedet og returnerer ikke et resultat.
Et andet open source C ++ bibliotek Qt har flere trimvarianter, herunder en standard:
#include <QString>
trimmed = s.trimmed();
Den Linux-kernen indeholder også en stribe funktion, strstrip()siden 2.6.18-RC1, der trimmer strengen "på plads". Siden 2.6.33-rc1 bruger kernen i strim()stedet for strstrip()at undgå falske advarsler.
Haskell
En trimalgoritme i Haskell :
import Data.Char (isSpace)
trim :: String -> String
trim = f . f
where f = reverse . dropWhile isSpace
kan tolkes som følger: f taber det foregående mellemrum og vender strengen. f anvendes derefter igen på sit eget output. Bemærk, at typesignaturen (den anden linje) er valgfri.
J
Trimalgoritmen i J er en funktionel beskrivelse:
trim =. #~ [: (+./\ *. +./\.) ' '&~:
Det vil sige: filter ( #~) for ikke-mellemrumstegn ( ' '&~:) mellem førende ( +./\) og ( *.) efterfølgende ( +./\.) mellemrum.
JavaScript
Der er en indbygget trimfunktion i JavaScript 1.8.1 (Firefox 3.5 og nyere) og ECMAScript 5-standarden. I tidligere versioner kan den tilføjes til String -objektets prototype som følger:
String.prototype.trim = function() {
return this.replace(/^\s+/g, "").replace(/\s+$/g, "");
};
Perl
Perl 5 har ingen indbygget trimfunktion. Funktionaliteten opnås imidlertid almindeligvis ved hjælp af regulære udtryk .
Eksempel:
$string =~ s/^\s+//; # remove leading whitespace
$string =~ s/\s+$//; # remove trailing whitespace
eller:
$string =~ s/^\s+|\s+$//g ; # remove both leading and trailing whitespace
Disse eksempler ændrer værdien af den oprindelige variabel $string.
StripLTSpace in String::Stripfra CPAN er også tilgængelig for Perl .
Der er imidlertid to funktioner, der normalt bruges til at fjerne mellemrum fra slutningen af strenge, chompog chop:
-
chopfjerner det sidste tegn fra en streng og returnerer det. -
chompfjerner den eller de efterfølgende nylinjetegn fra en streng, hvis den findes. (Hvad der udgør en ny linje er $ INPUT_RECORD_SEPARATOR afhængig).
I Raku , det kommende søstersprog i Perl, har strenge en trimmetode.
Eksempel:
$string = $string.trim; # remove leading and trailing whitespace
$string .= trim; # same thing
Tcl
Den Tcl string kommando har tre relevante underkommandoer: trim, trimrightog trimleft. For hver af disse kommandoer kan der angives et yderligere argument: en streng, der repræsenterer et sæt tegn, der skal fjernes - standarden er mellemrum (mellemrum, fane, ny linje, vognretur).
Eksempel på trimning af vokaler:
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
XSLT inkluderer funktionen, der fjerner ledende og efterfølgende mellemrum, ud over at erstatte enhver mellemrumssekvens (inklusive linjeskift) med et enkelt mellemrum.
normalize-space(string)
Eksempel:
<xsl:variable name='trimmed'>
<xsl:value-of select='normalize-space(string)'/>
</xsl:variable>
XSLT 2.0 indeholder regulære udtryk, der giver en anden mekanisme til at udføre strengtrimning.
En anden XSLT -teknik til trimning er at bruge XPath 2.0 substring()-funktionen.