Programlama dillerinin karşılaştırılması (string fonksiyonları) - Comparison of programming languages (string functions)
Dize işlevleri , bilgisayar programlama dillerinde bir dizeyi işlemek veya bir dizeyle ilgili bilgileri sorgulamak için kullanılır (bazıları her ikisini de yapar).
Dize veri türüne sahip çoğu programlama dili, dizeleri doğrudan işlemek için her dilde başka düşük düzeyli yollar olsa da, bazı dize işlevlerine sahip olacaktır. Nesne yönelimli dillerde, dize işlevleri genellikle dize nesnelerinin özellikleri ve yöntemleri olarak uygulanır. İşlevsel ve liste tabanlı dillerde bir dizi bir (karakter kodlarının listesi) olarak temsil edilir, bu nedenle tüm liste işleme prosedürleri dize işlevleri olarak kabul edilebilir. Bununla birlikte, bu tür diller, açık dizeye özgü işlevlerin bir alt kümesini de uygulayabilir.
Dizeleri işleyen işlev için, C# ve Java gibi modern nesne yönelimli diller değişmez dizelere sahiptir ve bir kopya döndürür (yeni tahsis edilen dinamik bellekte), C gibi diğerleri ise programcı verileri yeni bir dizeye kopyalamadıkça orijinal dizeyi değiştirir. Aşağıdaki Birleştirme örneğine bakın.
String fonksiyonunun en temel örneği length(string)
fonksiyondur. Bu işlev, bir dize değişmezinin uzunluğunu döndürür .
- örneğin
length("hello world")
11 döndürür.
Diğer diller, benzer veya tam olarak aynı sözdizimine veya parametrelere veya sonuçlara sahip dize işlevlerine sahip olabilir. Örneğin, birçok dilde uzunluk işlevi genellikle len (string) olarak temsil edilir . Aşağıdaki ortak işlevler listesi, bu karışıklığı sınırlamaya yardımcı olmayı amaçlamaktadır.
Ortak dize işlevleri (çoklu dil başvurusu)
Birçok dilde ortak olan dize işlevleri, kullanılan farklı adlar da dahil olmak üzere aşağıda listelenmiştir. Aşağıdaki ortak işlevler listesi, programcıların bir dilde eşdeğer işlevi bulmalarına yardımcı olmayı amaçlamaktadır. Not, dize bitiştirme ve normal ifadeler ayrı sayfalarda işlenir. İçinde Tablolar guillemets ( «...») isteğe bağlıdır.
CharAt
Tanım |
charAt(string,integer) karakteri döndürür.
|
---|---|
Açıklama | Dizedeki dizindeki karakteri döndürür. |
Eş değer | 1 karakter uzunluğundaki alt dizeye bakın . |
Biçim | Diller | Temel dizin |
---|---|---|
string[i]
|
ALGOL 68 , APL , Julia , Pascal , Object Pascal ( Delphi ), Seed7 | 1 |
string[i]
|
C , C++ , C# , Cobra , D , FreeBASIC , Git , Python , PHP , Ruby , Windows PowerShell , JavaScript , APL | 0 |
string{i}
|
PHP (5.3'te kullanımdan kaldırıldı) | 0 |
string(i)
|
Ada | ≥1 |
Mid(string,i,1)
|
VB | 1 |
MID$(string,i,1)
|
TEMEL | 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)
|
Pas | 0 |
string[i,1]
|
Temel Seç | 1 |
String.sub (string, i)
|
standart makine öğrenimi | 0 |
string !! i
|
Haskell | 0 |
(string-ref string i)
|
Şema | 0 |
(char string i)
|
Ortak 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) (sınır denetimi ile) | 0 |
lists:nth(i, string)
|
Erlang | 1 |
[string characterAtIndex:i]
|
Objective-C ( NSString * yalnızca)
|
0 |
string.sub(string, i, i)
|
Lua | 1 |
string at: i
|
Smalltalk (sınır kontrolü ile) | 1 |
string index string i
|
Tcl | 0 |
StringTake[string, {i}]
|
Matematik , Wolfram Dili | 1 |
string@i
|
Eyfel | 1 |
string (i:1)
|
COBOL | 1 |
i⌷string
|
APL | 0 veya 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')
Karşılaştır (tam sayı sonucu)
Tanım |
compare(string1,string2) tamsayı döndürür.
|
---|---|
Açıklama | İki diziyi birbiriyle karşılaştırır. Eşdeğer iseler sıfır döndürülür. Aksi takdirde, bu yordamlar en dizge olup karşılık gelen pozitif ya da negatif sonuç döndürür 1 olduğu sözlük sırasında dize daha büyük ya da daha az, daha sırasıyla 2 . İstisnalar, ilk uyuşmazlığın indeksini döndüren Scheme ve Rexx rutinleri ve alıcının string parametresine göre nasıl sıraladığını söyleyen bir karşılaştırma koduna cevap veren Smalltalk'tır. |
Biçim | Diller |
---|---|
IF string1<string2 THEN -1 ELSE ABS (string1>string2) FI
|
ALGOL 68 |
cmp(string1, string2)
|
piton 2 |
(string1 > string2) - (string1 < string2)
|
piton |
strcmp(string1, string2)
|
C , PHP |
std.string.cmp(string1, string2)
|
NS |
StrComp(string1, string2)
|
VB , Nesne Pascal ( Delphi ) |
string1 cmp string2
|
Perl , Raku |
string1 compare: string2
|
Küçük konuşma ( Squeak , Pharo ) |
string1 <=> string2
|
Ruby , C++ (STL, C++20 ) |
string1.compare(string2)
|
C++ (STL), Swift (Temel) |
compare(string1, string2)
|
Rexx , Tohum7 |
CompareStr(string1, string2)
|
Pascal , Nesne Pascal ( Delphi ) |
string1.compareTo(string2)
|
Kobra , Java |
string1.CompareTo(string2)
|
VB.NET , C# , F# |
(compare string1 string2)
|
Clojure |
(string= string1 string2)
|
Ortak Lisp |
(string-compare string1 string2 p< p= p>)
|
Şema (SRFI 13) |
(string= string1 string2)
|
ISLISP |
compare string1 string2
|
OCaml |
String.compare (string1, string2)
|
standart makine öğrenimi |
compare string1 string2
|
Haskell |
[string]::Compare(string1, string2)
|
Windows PowerShell'i |
[string1 compare:string2]
|
Objective-C ( NSString * yalnızca)
|
LLT(string1,string2)
|
Fortran |
string1.localeCompare(string2)
|
JavaScript |
bytes.Compare([]byte(string1), []byte(string2))
|
Gitmek |
string compare ?-nocase? ?-length int? string1 string2
|
Tcl |
compare(string1,string2,count)
|
PL/I |
string1.cmp(string2)
|
Pas |
# 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)
Karşılaştır (ilişkisel operatör tabanlı, Boole sonucu)
Tanım |
string1 OP string2 VEYA Boole döndürür.
(compare string1 string2) |
---|---|
Açıklama | İlişkisel bir işleç veya işlev kullanarak iki dizeyi sözlükbilimsel olarak karşılaştırır. Boole sonucu döndürüldü. |
Biçim | Diller |
---|---|
string1 OP string2 , OP herhangi biri nerede olabilir =, <>, <, >, <= ve>=
|
Pascal , Object Pascal ( Delphi ), OCaml , Seed7 , Standard ML , BASIC , VB , VB .NET , F# |
string1 OP string2 , OP herhangi biri nerede olabilir =, /=, ≠, <, >, <=, ≤ ve ≥ ; Ayrıca: EQ, NE, LT, LE, GE veGT
|
ALGOL 68 |
(stringOP? string1 string2) , OP herhangi biri nerede olabilir =, -ci=, <, -ci<, >, -ci>, <=, -ci<=, >= ve -ci>= (' -ci ' ile başlayan operatörler büyük/küçük harfe duyarlı değildir)
|
Şema |
(stringOP string1 string2) , OP herhangi biri nerede olabilir =, -ci=, <>, -ci<>, <, -ci<, >, -ci>, <=, -ci<=, >= ve -ci>= (' -ci ' ile başlayan operatörler büyük/küçük harfe duyarlı değildir)
|
Şema (SRFI 13) |
(stringOP string1 string2) , OP herhangi biri nerede olabilir =, -equal, /=, -not-equal, <, -lessp, >, -greaterp, <=, -not-greaterp, >= ve -not-lessp (sözlü operatörler büyük/küçük harfe duyarsızdır)
|
Ortak Lisp |
(stringOP string1 string2) , OP herhangi biri nerede olabilir =, /=, <, >, <=, ve>=
|
ISLISP |
string1 OP string2 , OP herhangi biri nerede olabilir =, \=, <, >, <= ve>=
|
Rexx |
string1 OP string2 , OP herhangi biri nerede olabilir =, ¬=, <, >, <=, >=, ¬< ve¬>
|
PL/I |
string1 OP string2 , OP herhangi biri nerede olabilir =, /=, <, >, <= ve>=
|
Ada |
string1 OP string2 , OP herhangi biri nerede olabilir ==, /=, <, >, =< ve>=
|
Erlang |
string1 OP string2 , OP herhangi biri nerede olabilir ==, /=, <, >, <= ve>=
|
Haskell |
string1 OP string2 , OP herhangi biri nerede olabilir veeq, ne, lt, gt, le ge
|
Perl , Raku |
string1 OP string2 , OP herhangi biri nerede olabilir ==, !=, <, >, <= ve>=
|
C++ (STL), C# , D , Go , JavaScript , Python , PHP , Ruby , Rust , Swift |
string1 OP string2 , OP herhangi biri nerede olabilir -eq, -ceq, -ne, -cne, -lt, -clt, -gt, -cgt, -le, -cle, -ge, ve -cge (' c ' ile başlayan operatörler büyük/küçük harf duyarlıdır)
|
Windows PowerShell'i |
string1 OP string2 , OP herhangi biri nerede olabilir ==, ~=, <, >, <= ve>=
|
Lua |
string1 OP string2 , OP herhangi biri nerede olabilir =, ~=, <, >, <= ve>=
|
küçük konuşma |
string1 OP string2 , OP herhangi biri nerede olabilir ==, /=, <, >, <= ve >=; Also: .EQ., .NE., .LT., .LE., .GT. ve.GE.
|
Fortran . |
string1 OP string2 ifadeli eşdeğerlerin yanı sıra
OP herhangi biri nerede olabilir=, <>, <, >, <=, >= |
COBOL |
string1 OP string2 OP herhangi biri nerede olabilir ==, <>, <, >, <= ve>=
|
Kobra |
string1 OP string2 sözdiziminde mevcuttur, ancak dize içeriğini değil, dizeleri işaret eden işaretçilerin karşılaştırılması anlamına gelir. Karşılaştır (tamsayı sonucu) işlevini kullanın.
|
C , Java |
string1.METHOD(string2) nerede METHOD herhangi biridir eq , ne , gt , lt , ge ,le
|
Pas |
% 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
birleştirme
Tanım |
concatenate(string1,string2) dize döndürür.
|
---|---|
Açıklama | İki dizeyi birbirine bağlayarak (birleştirir), birleştirilmiş dizeyi döndürür. C gibi bazı dillerin değiştirilebilir dizeleri olduğunu unutmayın, bu nedenle gerçekten ikinci dize ilk dizeye eklenir ve mutasyona uğramış dize döndürülür. |
Biçim | Diller |
---|---|
string1 & string2
|
Ada , FreeBASIC , Seed7 , BASIC , VB , VB .NET , COBOL (yalnızca değişmez değerler arasında) |
strcat(string1, string2)
|
C , C++ ( yalnızca)
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)
|
Şema , ISLISP |
(concatenate 'string string1 string2)
|
Ortak Lisp |
(str string1 string2)
|
Clojure |
string1 || string2
|
Rexx , SQL , PL/I |
string1 // string2
|
Fortran |
string1 ++ string2
|
Erlang , Haskell |
string1 ^ string2
|
OCaml , Standart ML , F# |
[string1 stringByAppendingString:string2]
|
Objective-C ( NSString * yalnızca)
|
string1 .. string2
|
Lua |
string1 , string2
|
Küçük konuşma , APL |
string1 string2
|
SNOBOL |
string1string2
|
Bash kabuğu |
string1 <> string2
|
matematik |
concat string 1 string 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"
içerir
Tanım |
contains(string,substring) boole döndürür
|
---|---|
Açıklama | Dizenin alt dize olarak alt dize içerip içermediğini döndürür . Bu, Bul'u kullanmaya ve ardından Bul bölümünün üçüncü sütununda listelenen arıza koşuluyla sonuçlanmadığını algılamaya eşdeğerdir . Ancak, bazı dillerin bu testi ifade etmenin daha basit bir yolu vardır. |
İlgili | Bulmak |
Biçim | Diller |
---|---|
string_in_string(string, loc int, substring)
|
ALGOL 68 |
ContainsStr(string, substring)
|
Nesne Pascal ( Delphi ) |
strstr(string, substring) != NULL
|
C , C++ ( char * yalnızca)
|
string.Contains(substring)
|
C# , VB .NET , Windows PowerShell , F# |
string.contains(substring)
|
Kobra , 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
|
tohum7 |
substring in string
|
Kobra , Python (2.3+) |
string.find(string, substring) ~= nil
|
Lua |
string.include?(substring)
|
yakut |
Data.List.isInfixOf substring string
|
Haskell (GHC 6.6+) |
string includesSubstring: substring
|
Smalltalk ( Squeak , Pharo , Smalltalk/X ) |
String.isSubstring substring string
|
standart makine öğrenimi |
(search substring string)
|
Ortak Lisp |
(not (null (string-index substring string)))
|
ISLISP |
(substring? substring string)
|
Clojure |
! StringFreeQ[string, substring]
|
matematik |
index(string, substring, startpos)>0
|
Fortran, PL/I |
index(string, substring, occurrence)>0
|
Temel Seç |
strings.Contains(string, substring)
|
Gitmek |
string.find(substring) != string::npos
|
C++ |
[string containsString:substring]
|
Objective-C ( NSString * yalnızca iOS 8+/OS X 10.10+)
|
string.rangeOfString(substring) != nil
|
Swift (Vakıf) |
∨/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 "
eşitlik
İki dizenin eşit olup olmadığını test eder. Ayrıca bkz . #Karşılaştır ve #Karşılaştır . Genel bir tamsayı ile karşılaştır sonucu aracılığıyla eşitlik kontrolleri yapmanın yalnızca programcı için kafa karıştırıcı olmadığını, aynı zamanda genellikle önemli ölçüde daha pahalı bir işlem olduğunu unutmayın; bu özellikle " C-strings " kullanılırken geçerlidir .
Biçim | Diller |
---|---|
string1 == string2
|
Python , C++ (STL), C# , Cobra , Go , JavaScript (benzerlik), PHP (benzerlik), Ruby , Rust , Erlang , Haskell , Lua , D , Mathematica , Swift |
string1 === string2
|
JavaScript , PHP |
string1 == string2 or
|
Fortran |
strcmp(string1, string2) == 0
|
C |
(string=? string1 string2)
|
Şema |
(string= string1 string2)
|
Ortak 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 kabuğu |
string1 eq string2
|
Perl , Raku |
string1.equals(string2)
|
Kobra , Java |
string1.Equals(string2)
|
C# |
string1 -eq string2, or
|
Windows PowerShell'i |
[string1 isEqualToString:string2], or
|
Objective-C ( NSString * yalnızca)
|
string1 ≡ string2
|
APL |
string1.eq(string2)
|
Pas |
// 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
Bulmak
Tanım |
find(string,substring) tamsayı döndürür
|
---|---|
Açıklama | İlk geçtiği başlamasından konumunu döndürür alt dize içinde dize . Eğer alt dize bu rutini çoğunda geçersiz endeks değeri döndürmek bulunamazsa - -1 endeksler nerede onlar 1 tabanlı nerede, 0 0 tabanlı - ya da bazı değer false olarak yorumlanmalıdır. |
İlgili | instrrev |
Biçim | Diller | Bulunmazsa |
---|---|---|
string in string(substring, pos, string[startpos:])
|
ALGOL 68 | BOOL: DOĞRU veya YANLIŞ ve REF INT konumunda konum döndürür. |
InStr(«startpos,»string,substring)
|
VB (pozisyonlar 1'den başlar) | 0 döndürür |
INSTR$(string,substring)
|
TEMEL (pozisyonlar 1'den başlar) | 0 döndürür |
index(string,substring)
|
AWK | 0 döndürür |
index(string,substring«,startpos»)
|
Perl 5 | -1 döndürür |
index(string,substring«,startpos») string.index(substring,«,startpos»)
|
Raku | sıfır döndürür |
instr(«startpos,»string,substring)
|
FreeBASIC | 0 döndürür |
strpos(string,substring«,startpos»)
|
PHP | YANLIŞ döndürür |
locate(string, substring)
|
Girişler | dize uzunluğu + 1 döndürür |
strstr(string, substring)
|
C , C++ ( yalnızca, işaretçiyi ilk karaktere döndürür)
char * |
NULL döndürür |
std.string.indexOf(string, substring)
|
NS | -1 döndürür |
pos(string, substring«, startpos»)
|
tohum7 | 0 döndürür |
strings.Index(string, substring)
|
Gitmek | -1 döndürür |
pos(substring, string)
|
Pascal , Nesne Pascal ( Delphi ) | 0 döndürür |
pos(substring, string«,startpos»)
|
Rexx | 0 döndürür |
string.find(substring«,startpos»)
|
C++ (STL) | std::string::npos'u döndürür |
string.find(substring«,startpos«,endpos»»)
|
piton | -1 döndürür |
string.index(substring«,startpos«,endpos»»)
|
ValueError'ı yükseltir | |
string.index(substring«,startpos»)
|
yakut | sıfır döndürür |
string.indexOf(substring«,startpos»)
|
Java , JavaScript | -1 döndürür |
string.IndexOf(substring«,startpos«, charcount»»)
|
VB .NET , C# , Windows PowerShell , F# | -1 döndürür |
string:str(string, substring)
|
Erlang | 0 döndürür |
(string-contains string substring)
|
Şema (SRFI 13) | #f döndürür |
(search substring string)
|
Ortak Lisp | NIL döndürür |
(string-index substring string)
|
ISLISP | İadeler nil
|
List.findIndex (List.isPrefixOf substring) (List.tails string)
|
Haskell (Sadece indeks döndürür ) | hiçbir şey döndürmez |
Str.search_forward (Str.regexp_string substring) string 0
|
OCaml | Not_found'u yükseltir |
Substring.size (#1 (Substring.position substring (Substring.full string)))
|
standart makine öğrenimi | dize uzunluğunu döndürür |
[string rangeOfString:substring].location
|
Objective-C ( NSString * yalnızca)
|
NSNotFound'u döndürür |
string.find(string, substring)
|
Lua | sıfır döndürür |
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlock
|
Küçük konuşma ( Squeak , Pharo ) | bir blok kapatma (veya herhangi bir nesne anlama değeri) olan aBlock'u değerlendir 0 döndürür |
startpos = INDEX(string, substring «,back» «, kind»)
|
Fortran | alt dize dizede değilse 0 döndürür; alt dize boşsa UZUNLUK(dize)+1 döndürür |
POSITION(substring IN string)
|
SQL | 0 döndürür (konumlar 1'den başlar) |
index(string, substring, startpos )
|
PL/I | 0 döndürür (konumlar 1'den başlar) |
index(string, substring, occurrence )
|
Temel Seç | alt dize oluşumu dizede değilse 0 döndürür; (pozisyonlar 1'den başlar) |
string.indexOf(substring«,startpos«, charcount»»)
|
Kobra | -1 döndürür |
string first substring string startpos
|
Tcl | -1 döndürür |
(substring⍷string)⍳1
|
APL | 1 + dizedeki son konumu döndürür |
string.find(substring)
|
Pas | İadeler 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"
Karakter bul
Tanım |
find_character(string,char) tamsayı döndürür
|
---|---|
Açıklama | Karakter ilk geçtiği başlamasından konumunu döndürür Char içinde dize . Karakter bulunamazsa, bu rutinlerin çoğu geçersiz bir dizin değeri döndürür – dizinlerin 0 tabanlı olduğu yerde -1, 1 tabanlı olduğu yerde 0 – veya Boolean FALSE olarak yorumlanacak bir değer. Bu, bir karakterden oluşan bir dize ile #Find'in özel bir durumu olarak gerçekleştirilebilir ; ancak birçok dilde yalnızca bir karakteri bulmak daha basit veya daha verimli olabilir. Ayrıca, birçok dilde karakterler ve dizgiler farklı türlerdedir, bu nedenle böyle bir işleve sahip olmak uygundur. |
İlgili | bulmak |
Biçim | Diller | Bulunmazsa |
---|---|---|
char in string(char, pos, string[startpos:])
|
ALGOL 68 | BOOL: DOĞRU veya YANLIŞ ve REF INT konumunda konum döndürür. |
instr(string, any char«,startpos») (char, bir karakterden daha fazlasını içerebilir, bu durumda herhangi birinin ilk görünümünün konumu döndürülür.)
|
FreeBASIC | 0 döndürür |
strchr(string,char)
|
C , C++ ( yalnızca, işaretçiyi karaktere döndürür)
char * |
NULL döndürür |
std.string.find(string, dchar)
|
NS | -1 döndürür |
string.find(char«,startpos»)
|
C++ (STL) | std::string::npos'u döndürür |
pos(string, char«, startpos»)
|
tohum7 | 0 döndürür |
strings.IndexRune(string,char)
|
Gitmek | -1 döndürür |
string.indexOf(char«,startpos»)
|
Java , JavaScript | -1 döndürür |
string.IndexOf(char«,startpos«, charcount»»)
|
VB .NET , C# , Windows PowerShell , F# | -1 döndürür |
(position char string)
|
Ortak Lisp | NIL döndürür |
(char-index char string)
|
ISLISP | İadeler nil
|
List.elemIndex char string
|
Haskell (geri döner )
Just index |
İadeler Nothing
|
String.index string char
|
OCaml | Not_found'u yükseltir |
position = SCAN (string, set «, back» «, kind») or
|
Fortran | sıfır döndürür |
string indexOf: char ifAbsent: aBlock
|
küçük konuşma | değerlendirmek aBlock bir olan BlockClosure (ya da herhangi bir nesnenin anlaşılması değeri) 0 döndürür döner true ya dafalse
|
index(string, char, startpos )
|
PL/I | 0 döndürür (konumlar 1'den başlar) |
string.index(?char)
|
yakut | sıfır döndürür |
strpos(string,char,startpos)
|
PHP | İadeler false
|
string.indexOf(char«,startpos«, charcount»»)
|
Kobra | -1 döndürür |
string⍳char
|
APL | 1 + dizedeki son konumu döndürür |
string.find(substring)
|
Pas | İadeler 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 Bir karakter kümesi verildiğinde, SCAN bulunan ilk karakterin konumunu döndürürken, DOĞRULA kümeye ait olmayan ilk karakterin konumunu döndürür.
Biçim
Tanım |
format(formatstring, items) dize döndürür
|
---|---|
Açıklama | Bir veya daha fazla öğenin biçimlendirilmiş dize temsilini döndürür. |
Biçim | Diller | Dize sözdizimini biçimlendir | |
---|---|---|---|
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 ) | piton | |
std.string.format(formatstring, items)
|
NS | C | |
Format(formatstring, items)
|
Nesne Pascal ( Delphi ) |
|
|
fmt.Sprintf(formatstring, items)
|
Gitmek | C | |
printf -v outputstring formatstring items
|
Bash kabuğu | C | |
formatstring % (items)
|
Python , Yakut | C | |
formatstring.format(items)
|
piton | .AĞ | |
fformatstring
|
piton 3 | ||
Printf.sprintf formatstring items
|
OCaml , F# | C | |
Text.Printf.printf formatstring items
|
Haskell (GHC) | C | |
formatstring printf: items
|
küçük konuşma | C | |
String.format(formatstring, items)
|
Java | C | |
String.Format(formatstring, items)
|
VB.NET , C# , F# | .AĞ | |
(format formatstring items)
|
Şema (SRFI 28) | Lisp | |
(format nil formatstring items)
|
Ortak Lisp | Lisp | |
(format formatstring items)
|
Clojure | Lisp | |
formatstring -f items
|
Windows PowerShell'i | .AĞ | |
[NSString stringWithFormat:formatstring, items]
|
Objective-C ( NSString * yalnızca)
|
C | |
String(format:formatstring, items)
|
Swift (Vakıf) | C | |
string.format(formatstring, items)
|
Lua | C | |
WRITE (outputstring, formatstring) items
|
Fortran | Fortran | |
put string(string) edit(items)(format)
|
PL/I | PL/I (Fortran'a benzer) | |
String.format(formatstring, items)
|
Kobra | .AĞ | |
format formatstring items
|
Tcl | C | |
formatnumbers ⍕ items veya formatstring ⎕FMT items
|
APL | APL | |
format!(formatstring, items)
|
Pas | piton |
// 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" */
eşitsizlik
İki dizenin eşit olup olmadığını test eder. Ayrıca bkz . #Eşitlik .
Biçim | Diller |
---|---|
string1 ne string2, or string1 NE string2
|
ALGOL 68 – not: " ne " operatörü kelimenin tam anlamıyla kalın yazı tipindedir. |
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 (kullanımdan kaldırıldı) |
string1 # string2
|
BASIC (bazı uygulamalar) |
string1 ne string2
|
Perl , Raku |
(string<> string1 string2)
|
Şema (SRFI 13) |
(string/= string1 string2)
|
Ortak Lisp |
(string/= string1 string2)
|
ISLISP |
(not= string1 string2)
|
Clojure |
string1 != string2
|
C++ (STL), C# , Go , JavaScript (benzer değil), PHP (benzer değil), Python , Ruby , Rust , Swift , D , Mathematica |
string1 !== string2
|
JavaScript , PHP |
string1 \= string2
|
Rexx |
string1 ¬= string2
|
PL/I |
test string1 != string2, or
|
bourne kabuğu |
string1 -ne string2, or
|
Windows PowerShell'i |
string1 ~= string2
|
Lua , küçük konuşma |
string1 ≢ string2
|
APL |
string1.ne(string2)
|
Pas |
// 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
dizin
#Bul'a bakın
indeksi
#Bul'a bakın
instr
#Bul'a bakın
instrrev
bkz #rfind
katılmak
Tanım |
join(separator, list_of_strings) ayırıcıyla birleştirilmiş dizelerin listesini döndürür
|
---|---|
Açıklama | Dizeler listesini, alt dizelerin her biri arasında ayırıcı dize olacak şekilde yeni bir dizeye birleştirir. Tersi bölünmüş . |
İlgili | sprintf |
Biçim | Diller |
---|---|
std.string.join(array_of_strings, separator)
|
NS |
string:join(list_of_strings, separator)
|
Erlang |
join(separator, list_of_strings)
|
Perl , PHP , Raku |
implode(separator, array_of_strings)
|
PHP |
separator.join(sequence_of_strings)
|
Python , Swift 1.x |
array_of_strings.join(separator)
|
Ruby , JavaScript , Raku , Rust |
(string-join array_of_strings separator)
|
Şema (SRFI 13) |
(format nil "~{~a~^separator~}" array_of_strings)
|
Ortak Lisp |
(clojure.string/join separator list_of_strings)
|
Clojure |
strings.Join(array_of_strings, separator)
|
Gitmek |
join(array_of_strings, separator)
|
tohum7 |
String.concat separator list_of_strings
|
OCaml |
String.concatWith separator list_of_strings
|
standart makine öğrenimi |
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'i |
[array_of_strings componentsJoinedByString:separator]
|
Objective-C ( NSString * yalnızca)
|
table.concat(table_of_strings, separator)
|
Lua |
{|String streamContents: [ :stream | collectionOfAnything asStringOn: stream delimiter: separator ]
|
Küçük konuşma ( Squeak , Pharo ) |
array_of_strings.join(separator«, final_separator»)
|
Kobra |
sequence_of_strings.joinWithSeparator(separator)
|
hızlı 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"
lastindexof
bkz #rfind
sol
Tanım |
left(string,n) dize döndürür
|
---|---|
Açıklama | Bir dizenin sol n bölümünü döndürür . Eğer n dize uzunluğundan daha büyüktür sonra çoğu uygulamaları (istisnalar var - Kod örneklere bakın) tüm dizeyi döndürür. UTF-8 , UTF-16 veya Shift-JIS gibi değişken uzunluklu kodlamalar için geçersiz dizelerden kaçınmak için sondaki dize konumlarının kaldırılmasının gerekli olabileceğini unutmayın. |
Biçim | Diller |
---|---|
string (string'First .. string'First + n - 1)
|
Ada |
substr(string, 0, n)
|
AWK (dize değiştirir), Perl , PHP , Raku |
LEFT$(string,n)
|
TEMEL , VB |
left(string,n)
|
VB , FreeBASIC , Ingres , Temel Seçim |
strncpy(string2, string, n)
|
C standart kitaplığı |
string.substr(0,n)
|
C++ (STL), Raku |
[string substringToIndex:n]
|
Objective-C ( NSString * yalnızca)
|
(apply str (take n string))
|
Clojure |
string[0 .. n]
|
NS |
string:substr(string, start, length)
|
Erlang |
(subseq string 0 n)
|
Ortak Lisp |
string[:n]
|
Kobra , Git , Python |
left(string,n «,padchar»)
|
Rexx , Erlang |
string[0, n]
|
yakut |
string[1, n]
|
Temel Seç |
string[ .. n]
|
tohum7 |
string.Substring(0,n)
|
VB .NET , C# , Windows PowerShell , F# |
leftstr(string, n)
|
Pascal , Nesne Pascal ( Delphi ) |
copy (string,1,n)
|
Turbo Pascal |
string.substring(0,n)
|
Java , JavaScript |
(string-take string n)
|
Şema (SRFI 13) |
take n string
|
Haskell |
String.extract (string, n, NONE)
|
standart makine öğrenimi |
String.sub string 0 n
|
OCaml |
string.[..n]
|
F# |
string.sub(string, 1, n)
|
Lua |
string first: n
|
Küçük konuşma ( Squeak , Pharo ) |
string(:n)
|
Fortran |
StringTake[string, n]
|
matematik |
string («FUNCTION» LENGTH(string) - n:n)
|
COBOL |
string.substring(0, n)
|
Kobra |
n↑string.
|
APL |
string[0..n] string[..n] string.get(0..n) string.get(..n)
|
Pas |
# 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"
uzun
bkz #length
uzunluk
Tanım |
length(string) bir tam sayı döndürür
|
---|---|
Açıklama | Bir dizenin uzunluğunu döndürür ( boş sonlandırıcıyı veya dizenin dahili yapısal bilgilerinin herhangi birini saymaz ). Boş bir dize, 0 uzunluğunu döndürür. |
Biçim | İadeler | Diller |
---|---|---|
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 , Git , Temel Seç |
length(string), string:len(string)
|
|
Erlang |
Len(string)
|
|
VB , Temel Seç |
string.Length
|
Sayısı UTF-16 kod birimlerinin | VB .NET , C# , Windows PowerShell , F# |
chars(string) string.chars
|
Grafik sayısı (NFG) | Raku |
codes(string) string.codes
|
Unicode kod noktalarının sayısı | Raku |
string.size OR string.length
|
bayt sayısı | yakut |
strlen(string)
|
bayt sayısı | C , PHP |
string.length()
|
|
C++ (STL) |
string.length
|
|
Kobra , D , JavaScript |
string.length()
|
Sayısı UTF-16 kod birimlerinin | Java |
(string-length string)
|
|
Şema |
(length string)
|
|
Ortak Lisp , ISLISP |
(count string)
|
|
Clojure |
String.length string
|
|
OCaml |
size string
|
|
standart makine öğrenimi |
length string
|
Unicode kod noktalarının sayısı | Haskell |
string.length
|
Sayısı UTF-16 kod birimlerinin |
Objective-C ( NSString * yalnızca)
|
string.characters.count
|
Karakter sayısı | Hızlı (2.x) |
count(string)
|
Karakter sayısı | Hızlı (1.2) |
countElements(string)
|
Karakter sayısı | Hızlı (1.0–1.1) |
string.len(string)
|
|
Lua |
string size
|
|
küçük konuşma |
LEN(string), or LEN_TRIM(string)
|
|
Fortran |
StringLength[string]
|
|
matematik |
«FUNCTION» LENGTH(string) veya
|
sırasıyla karakter sayısı ve bayt sayısı | COBOL |
string length string
|
karakter sayısını veren bir ondalık dize | Tcl |
≢ string
|
APL | |
string.len()
|
bayt sayısı | Pas |
string.chars().count()
|
Unicode kod noktalarının sayısı | Pas |
// 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
yerini belirlemek
#Bul'a bakın
küçük harf
Tanım |
lowercase(string) dize döndürür
|
---|---|
Açıklama | Dizeyi küçük harfle döndürür. |
Biçim | Diller |
---|---|
LCase(string)
|
VB |
lcase(string)
|
FreeBASIC |
lc(string)
|
Perl , Raku |
string.lc
|
Raku |
tolower(char)
|
C |
std.string.toLower(string)
|
NS |
transform(string.begin(), string.end(), result.begin(), ::tolower)
|
C++ |
lowercase(string)
|
Nesne Pascal ( Delphi ) |
strtolower(string)
|
PHP |
lower(string)
|
tohum7 |
echo "string" | tr 'A-Z' 'a-z'
|
Unix |
string.lower()
|
piton |
downcase(string)
|
Temel Seç |
string.downcase
|
yakut |
strings.ToLower(string)
|
Gitmek |
(string-downcase string)
|
Şema (R6RS), Ortak Lisp |
(lower-case string)
|
Clojure |
String.lowercase string
|
OCaml |
String.map Char.toLower string
|
standart makine öğrenimi |
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 * yalnızca), Swift (Vakıf)
|
string.lower(string)
|
Lua |
string asLowercase
|
küçük konuşma |
LOWER(string)
|
SQL |
lowercase(string)
|
PL/I |
ToLowerCase[string]
|
matematik |
«FUNCTION» LOWER-CASE(string)
|
COBOL |
string.toLower
|
Kobra |
string tolower string
|
Tcl |
string.to_lowercase()
|
Pas |
// 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?"
orta
#alt dizeye bakın
bölme
Tanım | <string>.partition( separator ), ayırıcıdan önceki alt dizeyi döndürür; ayırıcı; sonra ayırıcıdan sonraki alt dize. |
---|---|
Açıklama | Verilen dizeyi ayırıcıyla böler ve birlikte orijinali oluşturan üç alt dizeyi döndürür. |
Biçim | Diller | Yorumlar |
---|---|---|
string.partition(separator)
|
Python , Yakut (1.9+) | |
lists:partition(pred, string)
|
Erlang | |
split /(separator)/, string, 2
|
Perl 5 | |
split separator, string, 2 string.split( separator, 2 )
|
Raku | Ayırıcının normal bir ifade olması gerekmez |
# 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');
yer değiştirmek
Tanım |
replace(string, find, replace) dize döndürür
|
---|---|
Açıklama | Değiştirmek üzere değiştirilen bulma oluşumlarını içeren bir dize döndürür . |
Biçim | Diller |
---|---|
changestr(find, string, replace)
|
Rexx |
std.string.replace(string, find, replace)
|
NS |
Replace(string, find, replace)
|
VB |
replace(string, find, replace)
|
tohum7 |
change(string, find, replace)
|
Temel Seç |
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)
|
Kobra , Java (1.5+), Python , Rust |
string.replaceAll(find_regex, replace)
|
Java |
string.gsub(find, replace)
|
yakut |
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'i |
Str.global_replace (Str.regexp_string find) replace string
|
OCaml |
[string stringByReplacingOccurrencesOfString:find withString:replace]
|
Objective-C ( NSString * yalnızca)
|
string.stringByReplacingOccurrencesOfString(find, withString:replace)
|
Swift (Vakıf) |
string.gsub(string, find, replace)
|
Lua |
string copyReplaceAll: find with: replace
|
Küçük konuşma ( Squeak , Pharo ) |
string map {find replace} string
|
Tcl |
StringReplace[string, find -> replace]
|
matematik |
strings.Replace(string, find, replace, -1)
|
Gitmek |
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"
ters
Tanım |
reverse(string)
|
---|---|
Açıklama | Dizedeki karakterlerin sırasını tersine çevirir. |
Biçim | Diller |
---|---|
reverse string
|
Perl 5 , Haskell |
flip string string.flip
|
Raku |
lists:reverse(string)
|
Erlang |
strrev(string)
|
PHP |
string[::-1]
|
piton |
(string-reverse string)
|
Şema (SRFI 13) |
(reverse string)
|
Ortak Lisp |
string.reverse
|
Ruby , D (dizeyi değiştirir) |
new StringBuilder(string).reverse().toString()
|
Java |
std::reverse(string.begin(), string.end());
|
C++ ( std::string yalnızca, dizeyi değiştirir)
|
StrReverse(string)
|
VB |
string.Reverse().ToString()
|
VB.NET , C# |
implode (rev (explode string))
|
standart makine öğrenimi |
string.split("").reverse().join("")
|
JavaScript |
string.reverse(string)
|
Lua |
string reverse
|
küçük konuşma |
StringReverse[string]
|
matematik |
reverse(string)
|
PL/I |
«FUNCTION» REVERSE(string)
|
COBOL |
string.toCharArray.toList.reversed.join()
|
Kobra |
String(string.characters.reverse())
|
Hızlı (2.x) |
String(reverse(string))
|
Hızlı (1.2) |
string reverse string
|
Tcl |
⌽string
|
APL |
string.chars().rev().collect::<String>()
|
Pas |
" 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"
bul
Tanım |
rfind(string,substring) tamsayı döndürür
|
---|---|
Açıklama | Son görüldüğü yerin başlangıç konumunu döndürür alt dize içinde dize . Eğer alt dize bu rutini çoğunda geçersiz endeks değeri döndürmek bulunamazsa - -1 endeksler nerede onlar 1 tabanlı nerede, 0 0 tabanlı - ya da bazı değer false olarak yorumlanmalıdır. |
İlgili | instr |
Biçim | Diller | Bulunmazsa |
---|---|---|
InStrRev(«startpos,» string,substring)
|
VB | 0 döndürür |
instrrev(«startpos,» string,substring)
|
FreeBASIC | 0 döndürür |
rindex(string,substring«,startpos»)
|
Perl 5 | -1 döndürür |
rindex(string,substring«,startpos») string.rindex(substring«,startpos»)
|
Raku | sıfır döndürür |
strrpos(string,substring«,startpos»)
|
PHP | YANLIŞ döndürür |
string.rfind(substring«,startpos»)
|
C++ (STL) | std::string::npos'u döndürür |
std.string.rfind(string, substring)
|
NS | -1 döndürür |
string.rfind(substring«,startpos«, endpos»»)
|
piton | -1 döndürür |
string.rindex(substring«,startpos«, endpos»»)
|
ValueError'ı yükseltir | |
rpos(string, substring«,startpos»)
|
tohum7 | 0 döndürür |
string.rindex(substring«,startpos»)
|
yakut | sıfır döndürür |
strings.LastIndex(string, substring)
|
Gitmek | -1 döndürür |
string.lastIndexOf(substring«,startpos»)
|
Java , JavaScript | -1 döndürür |
string.LastIndexOf(substring«,startpos«, charcount»»)
|
VB .NET , C# , Windows PowerShell , F# | -1 döndürür |
(search substring string :from-end t)
|
Ortak Lisp | NIL döndürür |
[string rangeOfString:substring options:NSBackwardsSearch].location
|
Objective-C ( NSString * yalnızca)
|
NSNotFound'u döndürür |
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1)
|
OCaml | Not_found'u yükseltir |
string.match(string, '.*()'..substring)
|
Lua | sıfır döndürür |
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring,
|
Ada | 0 döndürür |
string.lastIndexOf(substring«,startpos«, charcount»»)
|
Kobra | -1 döndürür |
string lastIndexOfString:substring
|
küçük konuşma | 0 döndürür |
string last substring string startpos
|
Tcl | -1 döndürür |
(⌽<\⌽substring⍷'string')⍳1
|
APL | -1 döndürür |
string.rfind(substring)
|
Pas | İadeler 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
sağ
Tanım |
right(string,n) dize döndürür
|
---|---|
Açıklama | Bir dizenin sağ n bölümünü döndürür . Eğer n dize uzunluğundan daha büyüktür sonra çoğu uygulamaları (istisnalar var - Kod örneklere bakın) tüm dizeyi döndürür. |
Biçim | Diller |
---|---|
string (string'Last - n + 1 .. string'Last)
|
Ada |
Right(string,n)
|
VB |
RIGHT$(string,n)
|
TEMEL |
right(string,n)
|
FreeBASIC , Ingres , Temel Seçim |
strcpy(string2, string+n) (n, dize uzunluğundan büyük olmamalıdır )
|
C |
string.Substring(string.Length()-n)
|
C# |
string[len(string)-n:]
|
Gitmek |
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:]
|
kobra , piton |
string[n]
|
Temel Seç |
(string-take-right string n)
|
Şema (SRFI 13) |
string[-n..-1]
|
yakut |
string[$-n .. $]
|
NS |
String.sub string (String.length string - n) n
|
OCaml |
string.sub(string, -n)
|
Lua |
string last: n
|
Küçük konuşma ( Squeak , Pharo ) |
StringTake[string, -n]
|
matematik |
string (1:n)
|
COBOL |
¯n↑string.
|
APL |
string[n..] string.get(n..)
|
Pas |
// 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"
bölüm
Tanım | <string>.rpartition( separator ) Dize içinde sağdan sola ayırıcıyı arar ve ayırıcıdan önceki alt dizeyi döndürür; ayırıcı; sonra ayırıcıdan sonraki alt dize. |
---|---|
Açıklama | Verilen dizeyi en sağdaki ayırıcıyla böler ve birlikte orijinali oluşturan üç alt dizeyi döndürür. |
Biçim | Diller |
---|---|
string.rpartition(separator)
|
Python , Yakut |
# 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')
dilim
#alt dizeye bakın
bölmek
Tanım | <string>.split( separator [, limit ]) bir dizeyi ayırıcıda böler, isteğe bağlı olarak yalnızca sınırlı sayıda alt dizeye kadar |
---|---|
Açıklama | Verilen dizeyi ayırıcının (kendisi bir dize) oluşumlarına göre böler ve alt dizelerin bir listesini (veya dizisini) döndürür. Eğer sınır sonra verilir sınırı - 1 ayırıcıları okunmuş, dize geri kalanı ne olursa olsun o herhangi ayırıcılar sahip olsun, son alt dizeye yapılır. Scheme ve Erlang uygulamaları benzerdir ancak birkaç yönden farklılık gösterir. JavaScript, kesmesiyle de farklıdır, dizenin geri kalanını son öğeye koymaz. Buradaki örneğe bakın . Cobra uygulaması varsayılan olarak boşluk olacaktır. Katılmanın tersi . |
Biçim | Diller |
---|---|
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»)
|
piton |
string.split(separator«, limit»)
|
JavaScript , Java , Ruby |
string:tokens(string, sepchars)
|
Erlang |
strings.Split(string, separator)
|
Gitmek |
(string-tokenize string« charset« start« end»»»)
|
Şema (SRFI 13) |
Split(string, sepchars«, limit»)
|
VB |
string.Split(sepchars«, limit«, options»»)
|
VB.NET , C# , F# |
string -split separator«, limit«, options»»
|
Windows PowerShell'i |
Str.split (Str.regexp_string separator) string
|
OCaml |
std.string.split(string, separator)
|
NS |
[string componentsSeparatedByString:separator]
|
Objective-C ( NSString * yalnızca)
|
string.componentsSeparatedByString(separator)
|
Swift (Vakıf) |
TStringList.Delimiter, TStringList.DelimitedText
|
Nesne Pascal |
StringSplit[string, separator«, limit»]
|
matematik |
string.split«(sepchars«, limit«, options»»)»
|
Kobra |
split string separator
|
Tcl |
(separator≠string)⊂string veya sırasıyla APL2 ve Dyalog APL 16.0'da
separator(≠⊆⊢)string |
APL |
string.split(separator)
|
Pas |
// 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
#Biçimlendirmeye bakın
şerit
#trim'e bakın
strcmp
bkz. #Compare (tamsayı sonucu)
alt dize
Tanım |
substring(string, startpos, endpos) dize döndürür dize döndürür
substr(string, startpos, numChars) |
---|---|
Açıklama | Bir alt dizesini döndürür dize başlayan arasındaki startPos'da ve endPos ya başlayan startPos'da uzunluğunun NUMCHARS . Başlangıç noktasının ötesinde numChars karakterden daha az karakter varsa, elde edilen dize kesilir . endpos , alt dizedeki son karakterden sonraki dizini temsil eder. UTF-8 , UTF-16 veya Shift-JIS gibi değişken uzunluklu kodlamalar için geçersiz dizelerden kaçınmak için sondaki dize konumlarının kaldırılmasının gerekli olabileceğini unutmayın. |
Biçim | Diller |
---|---|
string[startpos:endpos]
|
ALGOL 68 (temel dizini değiştirir) |
string (startpos .. endpos)
|
Ada (temel dizini değiştirir) |
Mid(string, startpos, numChars)
|
VB |
mid(string, startpos, numChars)
|
FreeBASIC |
string[startpos+(⍳numChars)-~⎕IO]
|
APL |
MID$(string, startpos, numChars)
|
TEMEL |
substr(string, startpos, numChars)
|
AWK (dize değiştirir), Perl 5 , PHP |
substr(string, startpos, numChars) string.substr(startpos, numChars)
|
Raku |
substr(string, startpos «,numChars, padChar»)
|
Rexx |
string[startpos:endpos]
|
Kobra , Python , Git |
string[startpos, numChars]
|
Temel Seç |
string[startpos, numChars]
|
yakut |
string[startpos .. endpos]
|
tohum7 |
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)
|
Nesne Pascal ( Delphi ) |
(substring string startpos endpos)
|
Şema |
(subseq string startpos endpos)
|
Ortak Lisp |
(subseq string startpos endpos)
|
ISLISP |
String.sub string startpos numChars
|
OCaml |
substring (string, startpos, numChars)
|
standart makine öğrenimi |
string:sub_string(string, startpos, endpos)
|
Erlang |
strncpy(result, string + startpos, numChars);
|
C |
string[startpos .. endpos+1]
|
NS |
take numChars $ drop startpos string
|
Haskell |
[string substringWithRange:NSMakeRange(startpos, numChars)]
|
Objective-C ( NSString * yalnızca)
|
string.[startpos..endpos]
|
F# |
string.sub(string, startpos, endpos)
|
Lua |
string copyFrom: startpos to: endpos
|
küçük konuşma |
string(startpos:endpos)
|
Fortran |
SUBSTRING(string FROM startpos «FOR numChars»)
|
SQL |
StringTake[string, {startpos, endpos}]
|
matematik |
string (startpos:numChars)
|
COBOL |
string aralığı string startpos endpos | Tcl |
string[startpos..endpos] string.get(startpos..endpos)
|
Pas |
// 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****" */
büyük harf
Tanım |
uppercase(string) dize döndürür
|
---|---|
Açıklama | Dizeyi büyük harfle döndürür. |
Biçim | Diller |
---|---|
UCase(string)
|
VB |
ucase(string)
|
FreeBASIC |
toupper(string)
|
AWK (dizeyi değiştirir) |
uc(string)
|
Perl , Raku |
string.uc
|
Raku |
toupper(char)
|
C (tek karakter üzerinde çalışır) |
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 (dize / karakter dizisi) |
std.string.toUpper(string)
|
NS |
transform(string.begin(), string.end(), result.begin(), toupper)
|
C++ |
uppercase(string)
|
Nesne Pascal ( Delphi ) |
upcase(char)
|
Object Pascal ( Delphi ) (bir karakter üzerinde çalışır) |
strtoupper(string)
|
PHP |
upper(string)
|
tohum7 |
echo "string" | tr 'a-z' 'A-Z'
|
Unix |
translate(string) , veya
|
Rexx |
string.upper()
|
piton |
upcase(string)
|
Temel Seç |
string.upcase
|
yakut |
strings.ToUpper(string)
|
Gitmek |
(string-upcase string)
|
Şema , Ortak Lisp |
String.uppercase string
|
OCaml |
String.map Char.toUpper string
|
standart makine öğrenimi |
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 * yalnızca), Swift (Vakıf)
|
string.upper(string)
|
Lua |
string asUppercase
|
küçük konuşma |
UPPER(string)
|
SQL |
ToUpperCase[string]
|
matematik |
«FUNCTION» UPPER-CASE(string)
|
COBOL |
string.toUpper
|
Kobra |
string toupper string
|
Tcl |
string.to_uppercase()
|
Pas |
// 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?"
kırpmak
trim
or strip
, bir dizenin başındaki, sonundaki veya hem başlangıcındaki hem de sonundaki boşlukları kaldırmak için kullanılır.
Örnek kullanım | Diller |
---|---|
String.Trim([chars])
|
C# , VB.NET , Windows PowerShell |
string.strip();
|
NS |
(.trim string)
|
Clojure |
sequence [ predicate? ] trim
|
faktör |
(string-trim '(#\Space #\Tab #\Newline) string)
|
Ortak Lisp |
(string-trim string)
|
Şema |
string.trim()
|
Java , JavaScript (1.8.1+, Firefox 3.5+), Rust |
Trim(String)
|
Pascal , QBasic , Visual Basic , Delphi |
string.strip()
|
piton |
strings.Trim(string, chars)
|
Gitmek |
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
|
yakut |
string.trim
|
Raku |
trim(string)
|
PHP , Raku |
[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]
|
Kakao kullanarak Objective-C |
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)
|
Soğuk füzyon |
String.trim string
|
OCaml 4+ |
Diğer diller
Yerleşik bir kırpma işlevi olmayan dillerde, aynı görevi yerine getiren özel bir işlev oluşturmak genellikle basittir.
APL
APL , düzenli ifadeleri doğrudan kullanabilir:
Trim←'^ +| +$'⎕R''
Alternatif olarak, öndeki ve sondaki boşlukları filtreleyen Boole maskelerini birleştiren işlevsel bir yaklaşım:
Trim←{⍵/⍨(∨\∧∘⌽∨\∘⌽)' '≠⍵}
Veya baştaki boşlukları iki kez ters çevirin ve kaldırın:
Trim←{(∨\' '≠⍵)/⍵}∘⌽⍣2
AWK
In AWK , tek kırpmak için normal ifadeleri kullanabilirsiniz:
ltrim(v) = gsub(/^[ \t]+/, "", v)
rtrim(v) = gsub(/[ \t]+$/, "", v)
trim(v) = ltrim(v); rtrim(v)
veya:
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++
C veya C++'da standart bir kırpma işlevi yoktur. C için mevcut dize kitaplıklarının çoğu, kırpmayı uygulayan kodu veya verimli bir uygulamayı önemli ölçüde kolaylaştıran işlevleri içerir. İşlev ayrıca bazı standart olmayan C kitaplıklarında EatWhitespace olarak da adlandırılır .
C'de, programcılar genellikle trim uygulamak için bir ltrim ve rtrim'i birleştirir:
#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);
}
Açık kaynak C ++ kütüphanesi Boost standart da dahil olmak üzere birçok süs varyantları vardır:
#include <boost/algorithm/string/trim.hpp>
trimmed = boost::algorithm::trim_copy("string");
Boost'un basitçe adlandırılmış işleviyle trim
, giriş dizisinin yerinde değiştirildiğini ve bir sonuç döndürmediğini unutmayın.
Başka bir açık kaynak C++ kitaplığı Qt , standart bir tane de dahil olmak üzere çeşitli kırpma varyantlarına sahiptir:
#include <QString>
trimmed = s.trimmed();
Linux çekirdeği ayrıca bir şerit fonksiyonu içerir strstrip()
, "yerinde" dizesini kırpar 2.6.18-rc1 beri. 2.6.33-rc1'den beri, çekirdek yanlış uyarıları önlemek için strim()
yerine kullanır strstrip()
.
Haskell
Haskell'de bir trim algoritması :
import Data.Char (isSpace)
trim :: String -> String
trim = f . f
where f = reverse . dropWhile isSpace
şu şekilde yorumlanabilir: f önceki boşlukları bırakır ve dizeyi tersine çevirir. f daha sonra tekrar kendi çıktısına uygulanır. Tip imzasının (ikinci satır) isteğe bağlı olduğunu unutmayın.
J
Trim algoritma J a, fonksiyonel açıklama:
trim =. #~ [: (+./\ *. +./\.) ' '&~:
Yani: baştaki ( ) ve ( ) sonundaki ( ) boşluklar arasında #~
boşluk olmayan karakterler ( ) için filtre ( ) .
' '&~:
+./\
*.
+./\.
JavaScript
JavaScript 1.8.1'de (Firefox 3.5 ve üstü) ve ECMAScript 5 standardında yerleşik bir kırpma işlevi vardır. Önceki sürümlerde, String nesnesinin prototipine şu şekilde eklenebilir:
String.prototype.trim = function() {
return this.replace(/^\s+/g, "").replace(/\s+$/g, "");
};
Perl
Perl 5'in yerleşik bir kırpma işlevi yoktur. Ancak, işlevsellik genellikle normal ifadeler kullanılarak elde edilir .
Örnek:
$string =~ s/^\s+//; # remove leading whitespace
$string =~ s/\s+$//; # remove trailing whitespace
veya:
$string =~ s/^\s+|\s+$//g ; # remove both leading and trailing whitespace
Bu örnekler, orijinal değişkenin değerini değiştirir $string
.
Ayrıca Perl için kullanılabilir StripLTSpace içinde String::Strip
gelen CPAN .
Ancak, dizelerin sonundaki boşlukları çıkarmak için yaygın olarak kullanılan iki işlev vardır chomp
ve chop
:
-
chop
bir dizgeden son karakteri kaldırır ve onu döndürür. -
chomp
varsa, bir dizgeden sondaki yeni satır karakter(ler)ini kaldırır. (Yeni satırı oluşturan şey $INPUT_RECORD_SEPARATOR'a bağlıdır).
In Raku , Perl yaklaşan kardeş dil, dizeleri bir var trim
yöntemini.
Örnek:
$string = $string.trim; # remove leading and trailing whitespace
$string .= trim; # same thing
Tcl
Tcl string
komutu üç alakalı alt komutunu vardır: trim
, trimright
ve trimleft
. Bu komutların her biri için ek bir argüman belirtilebilir: kaldırılacak bir dizi karakteri temsil eden bir dize—varsayılan boşluktur (boşluk, sekme, yeni satır, satır başı).
Sesli harfleri kırpma örneği:
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 , herhangi bir boşluk sırasını (satır sonları dahil) tek bir boşlukla değiştirmenin yanı sıra, baştaki ve sondaki boşlukları ayıran işlevi içerir .
normalize-space(string)
Örnek:
<xsl:variable name='trimmed'>
<xsl:value-of select='normalize-space(string)'/>
</xsl:variable>
XSLT 2.0, dize kırpma gerçekleştirmek için başka bir mekanizma sağlayan düzenli ifadeler içerir.
Kırpma için başka bir XSLT tekniği, XPath 2.0 substring()
işlevini kullanmaktır .