プログラミング言語の比較(文字列関数)

文字列関数は、コンピュータプログラミング言語で文字列を操作したり、文字列に関する情報を照会したりするために使用されます (両方を行うものもあります)。

文字列データ型を持つプログラミング言語のほとんどには、何らかの文字列関数が用意されていますが、各言語には文字列を直接処理する低レベルの手段が他にも存在する場合があります。オブジェクト指向言語では、文字列関数は文字列オブジェクトのプロパティやメソッドとして実装されることがよくあります。関数型言語やリストベース言語では、文字列は文字コードのリストとして表現されるため、すべてのリスト操作手順は文字列関数と見なすことができます。ただし、これらの言語では、明示的に文字列固有の関数のサブセットも実装されている場合があります。

文字列を操作する関数について、 C#Javaなどの現代的なオブジェクト指向言語は不変の文字列を持ち、そのコピー(新しく割り当てられた動的メモリ内)を返します。一方、C言語などの他の言語は、プログラマーがデータを新しい文字列にコピーしない限り、元の文字列を操作します。例えば、以下の連結を参照してください。

文字列関数の最も基本的な例は関数です。この関数は文字列リテラルlength(string)の長さを返します

例えば、length("hello world")11 を返します。

他の言語にも、構文やパラメータ、結果が類似または全く同じ文字列関数が存在する場合があります。例えば、多くの言語では長さ関数は通常len(string)と表記されます。以下に一般的な関数をリストアップすることで、こうした混乱を軽減することができます。

一般的な文字列関数(多言語リファレンス)

多くの言語で共通する文字列関数を、様々な名称も含めて以下に列挙します。以下の共通関数リストは、プログラマーが各言語における同等の関数を見つけるのに役立つことを目的としています。なお、文字列連結正規表現は別のページで扱っています。ギユメ記号(« … »)で囲まれた文は省略可能です。

キャラット

意味charAt(string,integer)文字を返します。
説明文字列内のインデックスにある文字を返します。
同等長さ 1 文字の部分文字列を参照してください。
形式言語ベース
インデックス
string[i]ALGOL 68APLJuliaPascalObject PascalDelphi)、Seed71
string[i]CC++C#CobraDFreeBASICGoPython[1] PHPRuby[1] Windows PowerShellJavaScriptAPL0
string{i}PHP (5.3 で非推奨)0
string(i)エイダ≥1
Mid(string,i,1)VB1
MID$(string,i,1)ベーシック1
string.Chars(i)VB.NET0
string(i:i)フォートラン1
string.charAt(i)JavaJavaScript0
string.[i]OCamlF#0
string.chars().nth(i)[2]0
string[i,1]基本を選択1
String.sub (string, i)標準ML0
string !! iハスケル0
(string-ref string i)スキーム0
(char string i)コモンリスプ0
(elt string i)ISLISP0
(get string i)クロージュア0
substr(string, i, 1)Perl5 [ 1 ]0
substr(string, i, 1)
string.substr(i, 1)
[3]0
substr(string, i, 1)PL/I1
string.at(i)C++ (STL) (境界チェック付き)0
lists:nth(i, string)アーラン1
[string characterAtIndex:i]Objective-CNSString *のみ)0
string.sub(string, i, i)
(string):sub(i, i)
ルア[1]1
string at: iSmalltalk(境界チェック付き)1
string index string iTcl0
StringTake[string, {i}]MathematicaWolfram言語[1]1
string@iエッフェル1
string (i:1)コボル1
${string_param:i:1}バッシュ0
istringAPL0または1
{ Pascal の例 } var MyStr : string = 'Hello, World' ; MyChar : Char ; begin MyChar := MyStr [ 2 ] ; // 'e'          
# ALGOL 68 の例 #"Hello, World"[2]; // 'e'
// C言語の例#include <stdio.h> char myStr1 [] = "Hello, World" ; printf ( "%c" , * ( myStr1 + 1 )); // 'e' printf ( "%c" , * ( myStr1 + 7 )); // 'W' printf ( "%c" , myStr1 [ 11 ]); // 'd' printf ( "%s" , myStr1 ); // 'Hello, World' printf ( "%s" , "Hello(2), World(2)" ); // 'Hello(2), World(2)'                 
stdをインポートします std :: stringを使用します char myStr1 [] = "Hello(1), World(1)" ; string myStr2 = "Hello(2), World(2)" ; std :: println ( "Hello(3), World(3)" ); // 'Hello(3), World(3)' std :: println ( "{}" , myStr2 [ 6 ]); // '2' std :: println ( "{}" , myStr1 . substr ( 5 , 3 )); // '(1)'            
// C#の例"Hello, World" [ 2 ]; // 'l' 
# Perl 5 の例substr ( "Hello, World" , 1 , 1 ); # 'e'   
# Pythonの例"Hello, World" [ 2 ]  # 'l' "Hello, World" [ - 3 ]  # 'r'
# Rakuの例"Hello, World" . substr ( 1 , 1 ); # 'e'
' Visual Basic の例Mid ( "Hello, World" , 2 , 1 )
' Visual Basic .NET の例"Hello, World" . Chars ( 2 ) ' "l"c 
「Smalltalk の例」'Hello, World'  at:  2 .  "$e"
//Rustの例"Hello, World" . chars (). nth ( 2 ); // Some('l') 

比較(整数結果)

意味compare(string1,string2)整数を返します。
説明2つの文字列を比較します。等しい場合はゼロを返します。それ以外の場合、これらのルーチンのほとんどは、文字列1が文字列2より辞書順で大きいか小さいかに応じて、正または負の値を返します。例外として、SchemeとRexxのルーチンは最初の不一致のインデックスを返し、Smalltalkのルーチンは文字列パラメータに対する受信側のソート方法を示す比較コードを返します。
形式言語
IF string1<string2 THEN -1 ELSE ABS (string1>string2) FIアルゴル68
cmp(string1, string2)Python 2
(string1 > string2) - (string1 < string2)パイソン
strcmp(string1, string2)CPHP
std.string.cmp(string1, string2)D
StrComp(string1, string2)VBObject PascalDelphi
string1 cmp string2Perl
string1 compare: string2Smalltalk ( SqueakPharo )
string1 <=> string2RubyC++(STL、C++20[4]
string1.compare(string2)C++ (STL)、Swift (Foundation)
compare(string1, string2)レックスシード7
compare(string1, string2, pad)レックス
CompareStr(string1, string2)PascalObject PascalDelphi
string1.compareTo(string2)コブラジャワ
string1.CompareTo(string2)VB .NETC#F#
(compare string1 string2)クロージュア
(string= string1 string2)コモンリスプ
(string-compare string1 string2 p< p= p>)スキーム(SRFI 13)
(string= string1 string2)ISLISP
compare string1 string2OCaml
String.compare (string1, string2)標準ML [5]
compare string1 string2ハスケル[6]
[string]::Compare(string1, string2)Windows PowerShell
[string1 compare:string2]Objective-CNSString *のみ)
LLT(string1,string2)
LLE(string1,string2)
LGT(string1,string2)
LGE(string1,string2)
フォートラン[7]
string1.localeCompare(string2)JavaScript
bytes.Compare([]byte(string1), []byte(string2))行く
string compare string1 string2Tcl
compare(string1,string2,count)PL/I [8]
string1.cmp(string2)[9]
# Perl 5の例"hello" cmp "world" ; # -1を返す   
# Python の例cmp ( "hello" ,  "world" )  # -1 を返します
# Raku の例"hello"  cmp  "world" ; # Less を返す"world"  cmp  "hello" ; # More を返す"hello"  cmp  "hello" ; # Same を返す
/** Rexxの例 */ compare ( "hello" , "world" ) /* 不一致のインデックスを返す: 1 */  
; Scheme の例( use-modules ( srfi srfi-13 )) ; 不一致のインデックスを返します: 0 ( string-compare "hello" "world" values values values )       

比較(関係演算子ベース、ブール結果)

意味string1 OP string2OR はブール値を返します。(compare string1 string2)
説明関係演算子または関数を使用して、2つの文字列を辞書順に比較します。ブール値の結果が返されます。
形式言語
string1 OP string2、ここでは=、<>、<、>、<=、 > =OPのいずれかになります。PascalObject Pascal ( Delphi )、OCamlSeed7Standard MLBASICVBVB .NETF#
string1 OP string2ここで、は=、/=、≠、<、>、<=、≤、OPいずれかです。また、EQ、NE、LT、LE、GEGTも使用できます。アルゴル68
(stringOP? string1 string2)ここで、は=、-ci=、<、-ci<、>、-ci>、<=、-ci<=、>=、 - ci>=OPのいずれかです(' ' で始まる演算子は大文字と小文字を区別しません)。-ciスキーム
(stringOP string1 string2)ここで、OP=、-ci=、<>、-ci<>、<、-ci<、>、-ci>、<=、-ci<=、>=、 - ci>=のいずれかです(' -ci ' で始まる演算子は大文字と小文字を区別しません)。スキーム(SRFI 13)
(stringOP string1 string2)ここで、は=、-equal、/=、-not-equal、<、-lessp、>、-greaterp、<=、-not-greaterp、>=、 - not-lesspOPのいずれかです(動詞演算子は大文字と小文字を区別しません)。コモンリスプ
(stringOP string1 string2)(ここでは、=、/=、<、>、<=、 > =OPのいずれか)ISLISP
string1 OP string2ここで、は=、\=、<、>、<=>=OPのいずれかである[10]レックス
string1 OP string2ここで、は=、¬=、<、>、<=、>=、¬<、 ¬ >OPのいずれかである[11]PL/I
string1 OP string2(ここでは、=、/=、<、>、<=、 > =OPのいずれか)エイダ
string1 OP string2、ここでは==、/=、<、>、=<、 > =OPのいずれかになります。アーラン
string1 OP string2、ここでは==、/=、<、>、<=、 > =OPのいずれかになります。ハスケル
string1 OP string2eqneltgtlegeOPのいずれか)Perl
string1 OP string2、ここでは==、!=、<、>、<=、 > =OPのいずれかになります。C++ (STL)、C#DGoJavaScriptPythonPHPRubyRust[12] Swift
string1 OP string2-eq、-ceq、-ne、-cne、-lt、-clt、-gt、-cgt、-le、-cle、-ge、 -cgeOPいずれかになります(' c ' で始まる演算子は大文字と小文字が区別されます)Windows PowerShell
string1 OP string2、ここでは==、~=、<、>、<=、 > =OPのいずれかになります。ルア
string1 OP string2(ここでは、=、~=、<、>、<=、 > =OPのいずれか)雑談
string1 OP string2、ここでは==、/=、<、>、<=、 >=OPのいずれかになります。また、.EQ.、.NE.、.LT.、.LE.、.GT. 、 .GE も使用できますFortran . [13]
string1 OP string2ここで、は=、<>、<、>、<=、>=のいずれか、または同等の表現OPになります。コボル
string1 OP string2ここで、は ==、<>、<、>、<=>=OPのいずれかになります。コブラ
string1 OP string2構文では使用できますが、文字列の内容ではなく、文字列を指すポインタの比較を意味します。Compare (integer result)関数を使用してください。CJava
string1.METHOD(string2)、、、、、METHODいずれeqnegtltgele[12]
% Erlangの例"hello" > "world" . % falseを返す   
# Raku の例"art"  gt  "painting" ; # False を返す"art"  lt  "painting" ; # True を返す
# Windows PowerShell の例"hello"  -gt  "world"  # false を返します
;; Common Lisp の例( string> "art" "painting" ) ; nil を返す( string< "art" "painting" ) ; nil 以外を返す      

連結

意味concatenate(string1,string2)文字列を返します。
説明2つの文字列を連結(結合)し、結合後の文字列を返します。C言語など一部の言語では文字列が変更可能であるため、実際には2番目の文字列が1番目の文字列に追加され、変更後の文字列が返されることに注意してください。
形式言語
string1 adjacent_to string2Rexx(アバットメント、相当string1 || string2
string1 whitespace string2Rexx( と同等string1 || ' ' || string2
string1 & string2AdaFreeBASICSeed7BASICVBVB .NETCOBOL(リテラル間のみ)
strcat(string1, string2)CC++のみ)[14]char *
string1 . string2PerlPHP
string1 + string2ALGOL 68C++(STL)、C#CobraFreeBASICGoPascalObject PascalDelphi)、JavaJavaScriptWindows PowerShellPythonRubyRust[15] F#SwiftTuringVB
string1 ~ string2D
(string-append string1 string2)SchemeISLISP
(concatenate 'string string1 string2)コモンリスプ
(str string1 string2)クロージュア
string1 || string2RexxSQLPL/I
string1 // string2フォートラン
string1 ++ string2ErlangHaskell
string1 ^ string2OCaml標準 MLF#
[string1 stringByAppendingString:string2]Objective-CNSString *のみ)
string1 .. string2ルア
string1 , string2SmalltalkAPL
string1 string2スノボル
string1string2バッシュ
string1 <> string2マセマティカ
文字列1と文字列2を連結するTcl
{ Pascal の例 } 'abc' + 'def' ; // "abcdef" を返します   
// C# の例"abc" + "def" ; // "abcdef" を返します   
' Visual Basic の例"abc" & "def" ' は "abcdef" を返します"abc" + "def" ' は "abcdef" を返します"abc" & Null ' は "abc" を返します"abc" + Null ' は Null を返します            
// Dの例"abc" ~ "def" ; // "abcdef"を返す   
;; Common Lisp の例( concatenate 'string "abc " "def " "ghi" ) ; "abc def ghi" を返します     
# Perl 5 の例"abc" . "def" ; # "abcdef" を返します"Perl " . 5 ; # "Perl 5" を返します      
/* PL/Iの例 */ "abc" || "def" /* "abcdef"を返す */   
# Raku の例"abc" ~ "def" ; # "abcdef" を返します"Perl " ~ 6 ; # "Perl 6" を返します
/* Rexx の例 */ "Strike" 2 /* "Strike2" を返す */ "Strike" 2 /* "Strike 2" を返す */   

含む

意味contains(string,substring)ブール値を返す
説明文字列に部分文字列が含まれているかどうかを返します。これは、Find関数を使用し、Findセクションの3列目に記載されている失敗条件に該当しないことを検出することと同じです。ただし、一部の言語では、このテストをより簡潔に表現できます。
関連している探す
形式言語
string_in_string(string, loc int, substring)アルゴル68
ContainsStr(string, substring)オブジェクトパスカルデルファイ
strstr(string, substring) != NULLCC++char *のみ)
string.Contains(substring)C#VB .NETWindows PowerShellF#
string.contains(substring)コブラJava (1.5+)、rakuRust[16] C++ ( C++23 ) [17]
string.indexOf(substring) >= 0JavaScript
strpos(string, substring) !== falsePHP
str_contains(string, substring)PHP(8以上)
pos(string, substring) <> 0シード7
substring in stringCobraPython(2.3以上)
string.find(string, substring) ~= nilルア
string.include?(substring)ルビー
Data.List.isInfixOf substring stringHaskell (GHC 6.6+)
string includesSubstring: substringSmalltalk ( SqueakPharoSmalltalk/X )
String.isSubstring substring string標準ML
(search substring string)コモンリスプ
(not (null (string-index substring string)))ISLISP
(substring? substring string)クロージュア
! StringFreeQ[string, substring]マセマティカ
index(string, substring, startpos)>0Fortran、PL/I [18]
index(string, substring, occurrence)>0基本を選択
strings.Contains(string, substring)行く
string.find(substring) != string::nposC++
[string containsString:substring]Objective-C ( NSString *iOS 8以降/OS X 10.10以降のみ)
string.rangeOfString(substring) != nilスウィフト(財団)
∨/substringstringAPL
¢ ALGOL 68の例¢string in string("e", loc int , "Hello mate"); ¢ trueを返します¢string in string("z", loc int , "word"); ¢ falseを返します¢
// C#の例"Hello mate" . Contains ( "e" ); // trueを返す"word" . Contains ( "z" ); // falseを返す  
# Python の例"Hello mate""e" は true を返します。"word""z"は false を返します。     
# Raku の例"Good morning!" . contains ( 'z' ) # False を返します"¡Buenos días!" . contains ( 'í' ); # True を返します
Smalltalk の例 「'Hello mate'の includeSubstring:  'e' は true を返します。' word ' の includesSubstring:  'z' は false を返します。」

平等

2つの文字列が等しいかどうかをテストします。#Compare および #Compare も参照してください。整数値の結果を持つ汎用的な Compare による等価性チェックは、プログラマーにとって混乱を招くだけでなく、多くの場合、処理コストが大幅に増加することに注意してください。これは特に「C文字列」を使用する場合に当てはまります。

形式言語
string1 == string2PythonC++(STL)、C#CobraGoJavaScript(類似)、PHP(類似)、RubyRust[12] ErlangHaskellLuaDMathematicaSwift
string1 === string2JavaScriptPHP
string1 == string2
string1 .EQ. string2
フォートラン
strcmp(string1, string2) == 0C
(string=? string1 string2)スキーム
(string= string1 string2)コモンリスプISLISP
string1 = string2ALGOL 68AdaObject Pascal ( Delphi )、OCamlPascalRexxSeed7Standard MLBASICVBVB .NETF#SmalltalkPL/ICOBOL
test string1 = string2
[ string1 = string2 ]
ボーンシェル
string1 eq string2PerlRakuTcl
string1.equals(string2)コブラジャワ
string1.Equals(string2)C#
string1 -eq string2
[string]::Equals(string1, string2)
Windows PowerShell
[string1 isEqualToString:string2]
[string1 isEqual:string2]
Objective-CNSString *のみ)
string1string2APL
string1.eq(string2)[12]
// C# の例"hello" == "world" // false を返します   
' Visual Basicの例"hello" = "world" ' はfalseを返します   
# Perl 5 の例'hello' eq 'world' # 0 を返す'hello' eq 'hello' # 1 を返す      
# Raku の例'hello'  eq  'world'  # False を返す'hello'  eq  'hello'  # True を返す
# Windows PowerShell の例"hello"  -eq  "world"  # false を返します
⍝ APLの例'hello' 'world' ⍝ 0を返す   


探す

意味find(string,substring)整数を返す
説明文字列内で部分文字列が最初に出現する位置を返します部分文字列が見つからない場合、これらのルーチンのほとんどは無効なインデックス値(インデックスが0から始まる場合は-1、1から始まる場合は0)を返すか、ブール値FALSEとして解釈される値を返します。
関連している強制
形式言語見つからない場合
string in string(substring, pos, string[startpos:])アルゴル68BOOL: TRUE または FALSE、および REF INT pos 内の位置を返します。
InStr(«startposstring,substring)VB(位置は1から始まります)0を返す
INSTR$(string,substring)BASIC(位置は1から始まります)0を返す
index(string,substring)AWK0を返す
index(string,substring«,startpos»)パール5−1を返す
index(string,substring«,startpos»)
string.index(substring,«,startpos»)
Nilを返します
instr(«startposstring,substring)フリーベーシック0を返す
strpos(string,substring«,startpos»)PHPFALSEを返します
locate(string, substring)イングレス文字列の長さ+1を返す
strstr(string, substring)CC++のみ、最初の文字へのポインタを返す)char *NULLを返します
std.string.indexOf(string, substring)D−1を返す
pos(string, substring«, startpos»)シード70を返す
strings.Index(string, substring)行く−1を返す
pos(substring, string)PascalObject PascalDelphi0を返す
pos(substring, string«,startpos»)レックス0を返す
string.find(substring«,startpos»)C++ (STL)std::string::npos を返す
string.find(substring«,startpos«,endpos»»)パイソン−1を返す
string.index(substring«,startpos«,endpos»»)ValueError が発生します
string.index(substring«,startpos»)ルビーnilを返す
string.indexOf(substring«,startpos»)JavaJavaScript−1を返す
string.IndexOf(substring«,startpos«, charcount»»)VB .NETC#Windows PowerShellF#−1を返す
string:str(string, substring)アーラン0を返す
(string-contains string substring)スキーム(SRFI 13)#f を返します
(search substring string)コモンリスプNILを返します
(string-index substring string)ISLISP返品nil
List.findIndex (List.isPrefixOf substring) (List.tails string)Haskell (インデックスのみを返す)何も返さない
Str.search_forward (Str.regexp_string substring) string 0OCamlNot_found が発生します
Substring.size (#1 (Substring.position substring (Substring.full string)))標準ML文字列の長さを返す
[string rangeOfString:substring].locationObjective-CNSString *のみ)NSNotFoundを返します
string.find(string, substring)
(string):find(substring)
ルアnilを返す
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlock
string findString: substring startingAt: startpos
Smalltalk ( SqueakPharo )ブロッククロージャ(または値を理解する任意のオブジェクト)であるaBlockを評価すると
0が返されます。
startpos = INDEX(string, substring «,back» «, kind»)フォートラン部分文字列が文字列にない場合は 0 を返します。部分文字列が空の場合は LEN(文字列)+1 を返します。
POSITION(substring IN string)SQL0を返します(位置は1から始まります)
index(string, substring, startpos )PL/I [18]0を返します(位置は1から始まります)
index(string, substring, occurrence )基本を選択部分文字列が文字列内に存在しない場合は 0 を返します (位置は 1 から始まります)
string.indexOf(substring«,startpos«, charcount»»)コブラ−1を返す
string first substring string startposTcl−1を返す
(substringstring)⍳1APL文字列の最後の位置 + 1 を返します
string.find(substring)[19]返品None

  • コモンリスプ
    ( search "e" "Hello mate" ) ; 1 を返す( search "z" "word" ) ; NIL を返す      
  • C#
    "Hello mate" . IndexOf ( "e" ); // 1 を返します"Hello mate" . IndexOf ( "e" , 4 ); // 9 を返します"word" . IndexOf ( "z" ); // -1 を返します    
  • "Hello, there!" . index ( 'e' ) # 1 を返します"Hello, there!" . index ( 'z' ) # Nil を返します
  • スキーム
    ( use-modules ( srfi srfi-13 )) ( string-contains "Hello mate" "e" ) ; 1 を返す( string-contains "word" "z" ) ; #f を返す        
  • ビジュアルベーシック
    ' InStr ( "Hello mate" , "e" )の例' は 2 を返しますInStr ( 5 , "Hello mate" , "e" ) ' は 10 を返しますInStr ( "word" , "z" ) ' は 0 を返します       
  • 雑談
    「Hello mate」 indexOfSubCollection: 'ate'  "8 を返します"
    「Hello mate」 indexOfSubCollection: 'late'  "0 を返します"
    I ' Hello  mate '  indexOfSubCollection: 'late'  ifAbsent: [ 99 ] "99を返します"
    「Hello mate」 indexOfSubCollection: 'late'  ifAbsent: [自己 エラー] "例外が発生します"


キャラクターを見つける

意味find_character(string,char)整数を返す
説明文字列内で文字charが最初に出現する位置を返します。文字が見つからない場合、これらのルーチンのほとんどは無効なインデックス値(インデックスが0から始まる場合は-1、1から始まる場合は0)を返すか、ブール値FALSEとして解釈される値を返します。これは、1文字の文字列に対して#Findの特殊なケースとして実行できますが、多くの言語では1文字だけを検索する方が簡単または効率的です。また、多くの言語では文字と文字列が異なる型であるため、このような関数があると便利です。
関連している探す
形式言語見つからない場合
char in string(char, pos, string[startpos:])アルゴル68BOOL : TRUEまたはFALSE、およびREF INT pos内の位置を返します
instr(string, any char«,startpos»)(char には 1 文字以上含めることができ、その場合はそれらのいずれかの最初の出現位置が返されます。)フリーベーシック0を返す
strchr(string,char)CC++のみ、文字へのポインタを返す)char *NULLを返します
std.string.find(string, dchar)D−1を返す
string.find(char«,startpos»)C++ (STL)std::string::nposを返す
pos(string, char«, startpos»)シード70を返す
strings.IndexRune(string,char)行く−1を返す
string.indexOf(char«,startpos»)JavaJavaScript−1を返す
string.IndexOf(char«,startpos«, charcount»»)VB .NETC#Windows PowerShellF#−1を返す
(position char string)コモンリスプNILを返します
(char-index char string)ISLISPnilを返す
List.elemIndex char stringHaskell ( を返す)Just index何も返さない
String.index string charOCamlNot_foundが発生します
position = SCAN (string, set «, back» «, kind»)
position = VERIFY (string, set «, back» «, kind»)[a]
フォートランゼロを返す
string indexOf: char ifAbsent: aBlock
string indexOf: char
string includes: char
雑談(または値を理解する任意のオブジェクト)を評価するとaBlock0が返され、またはBlockClosure

truefalse
index(string, char, startpos )PL/I [20]0を返します(位置は1から始まります)
string.index(?char)ルビーnilを返す
strpos(string,char,startpos)PHPfalseを返します
string.indexOf(char«,startpos«, charcount»»)コブラ−1を返す
stringcharAPL文字列の最後の位置 + 1 を返します
string.find(substring)[19]Noneを返します
// C#の例"Hello mate" . IndexOf ( 'e' ); // 1を返す"word" . IndexOf ( 'z' ) // -1を返す  
; Common Lisp の例(位置#\e "Hello mate" ) ; 1 を返す(位置#\z "word" ) ; NIL を返す      

^a 文字セットが与えられると、SCANは最初に見つかった文字の位置を返します。 [21]一方、VERIFYはセットに属さない最初の文字の位置を返します。 [22]

形式

意味format(formatstring, items)文字列を返す
説明1 つ以上の項目のフォーマットされた文字列表現を返します。
形式言語フォーマット文字列の構文
associate(file, string); putf(file, $formatstring$, items)アルゴル68アルゴル
Format(item, formatstring)VB
sprintf(formatstring, items)PerlPHPRakuRubyC
item.fmt(formatstring)C
io_lib:format(formatstring, items)アーラン
sprintf(outputstring, formatstring, items)CC
std::format(formatstring, items)C++ ( C++20 )パイソン
std.string.format(formatstring, items)DC
Format(formatstring, items)オブジェクトパスカルデルファイ
fmt.Sprintf(formatstring, items)行くC
printf formatstring itemsUnixC
formatstring % (items)PythonRubyC
formatstring.format(items)パイソン。ネット
fformatstringPython 3
Printf.sprintf formatstring[23] itemsOCamlF#C
Text.Printf.printf formatstring itemsハスケル(GHC)C
formatstring printf: items雑談C
String.format(formatstring, items)ジャワC
String.Format(formatstring, items)VB .NETC#F#。ネット
(format formatstring items)スキーム(SRFI 28)Lisp
(format nil formatstring items)コモンリスプLisp
(format formatstring items)クロージュアLisp
formatstring -f itemsWindows PowerShell。ネット
[NSString stringWithFormat:formatstring, items]Objective-CNSString *のみ)C
String(format:formatstring, items)スウィフト(財団)C
string.format(formatstring, items)
(formatstring):format(items)
ルアC
WRITE (outputstring, formatstring) itemsフォートランフォートラン
put string(string) edit(items)(format)PL/IPL/I(Fortranに類似)
String.format(formatstring, items)コブラ。ネット
format formatstring itemsTclC
formatnumbersitems
formatstring ⎕FMT items
APLAPL
format!(formatstring, items)[24]パイソン
// C# の例String . Format ( "My {0} のコストは {1:C2}" , "pen" , 19.99 ); // "My pen のコストは $19.99" を返します   
// Object Pascal (Delphi)形式の例( 'My %s のコストは $%2f' , [ 'pen' , 1 9.99 ]) ; // "My pen のコストは $19.99" を返します   
// Java文字列の例. format ( "My %s expensive $%2f" , "pen" , 19.99 ); // "My pen costs $19.99" を返します   
# Raku の例sprintf  "My %s costs \$%.2f" , "pen" , 19.99 ; # "My pen costs $19.99" を返します1 . fmt ( "%04d" ); # "0001" を返します
# Python の例"My %s のコストは $ %.2f "  %  ( "pen" ,  19.99 );  # 返される値は "My pen のコストは $19.99" "My {0} のコストは $ {1:.2f} " .format ( "pen" , 19.99 ); # 返される値は "My pen のコストは $19.99"  
#Python 3.6+ の例pen  =  "pen" f "My { pen } costs { 19.99 } "  #"My pen costs 19.99" を返します
; Scheme の例( format "My ~a costs $~1,2F" "pen" 19.99 ) ; は "My pen costs $19.99" を返します    
/* PL/I の例 */
put  string ( some_string )  edit ( 'My ' , 'pen' , ' cost' , 19.99 )( a , a , a , p '$$$V.99' ) /* "My pen costs $19.99" を返します */   

不平等

2つの文字列が等しくないかどうかをテストします。#Equalityも参照してください。

形式言語
string1 ne string2
string1 NE string2
ALGOL 68 – 注: 演算子「ne ​​」は文字通り太字フォントで表示されます。
string1 /= string2ALGOL 68AdaErlangFortranHaskell
string1 <> string2BASICVBVB .NETPascalObject Pascal ( Delphi )、OCamlPHPSeed7Standard MLF#COBOLCobraPython 2 (非推奨)
string1 # string2BASIC(一部の実装)
string1 ne string2Perl
(string<> string1 string2)スキーム(SRFI 13)
(string/= string1 string2)コモンリスプ
(string/= string1 string2)ISLISP
(not= string1 string2)クロージュア
string1 != string2C++ (STL)、C#GoJavaScript(類似しない)、PHP(類似しない)、PythonRubyRust[12] SwiftDMathematica
string1 !== string2JavaScriptPHP
string1 \= string2レックス
string1 ¬= string2PL/I
test string1 != string2
[ string1 != string2 ]
ボーンシェル
string1 -ne string2
-not [string]::Equals(string1, string2)
Windows PowerShell
string1 ~= string2LuaSmalltalk
string1string2APL
string1.ne(string2)[12]
// C# の例"hello" != "world" // true を返します   
' Visual Basicの例"hello" <> "world" 'はtrueを返します   
;; Clojure の例( not= "hello" "world" ) ; ⇒ true  
# Perl 5の例'hello' ne 'world' # 1を返す   
# Rakuの例'hello'  ne  'world'  # Trueを返す
# Windows PowerShell の例"hello"  -ne  "world"  # true を返します

索引

#検索を参照

インデックス

#検索を参照

命令

#検索を参照

強制

#rfind を参照

参加する

意味 join(separator, list_of_strings)区切り文字で結合された文字列のリストを返します
説明文字列リストを新しい文字列に結合し、各部分文字列の間に区切り文字列を挿入します。split の反対です
関連しているスプリント
形式言語
std.string.join(array_of_strings, separator)D
string:join(list_of_strings, separator)アーラン
join(separator, list_of_strings)PerlPHP楽楽
implode(separator, array_of_strings)PHP
separator.join(sequence_of_strings)PythonSwift 1.x
array_of_strings.join(separator)RubyJavaScriptRakuRust [25]
(string-join array_of_strings separator)スキーム(SRFI 13)
(format nil "~{~a~^separator~}" array_of_strings)コモンリスプ
(clojure.string/join separator list_of_strings)
(apply str (interpose separator list_of_strings))
クロージュア
strings.Join(array_of_strings, separator)行く
join(array_of_strings, separator)シード7
String.concat separator list_of_stringsOCaml
String.concatWith separator list_of_strings標準ML
Data.List.intercalate separator list_of_stringsHaskell (GHC 6.8+)
Join(array_of_strings, separator)VB
String.Join(separator, array_of_strings)VB .NETC#F#
String.join(separator, array_of_strings)Java 8以降
&{$OFS=$separator; "$array_of_strings"}
array_of_strings -join separator
Windows PowerShell
[array_of_strings componentsJoinedByString:separator]Objective-CNSString *のみ)
table.concat(table_of_strings, separator)ルア
{|String streamContents: [ :stream | collectionOfAnything asStringOn: stream delimiter: separator ]
collectionOfAnything joinUsing: separator
Smalltalk ( SqueakPharo )
array_of_strings.join(separator«, final_separator»)コブラ
sequence_of_strings.joinWithSeparator(separator)スウィフト2.x
1↓∊separatorlist_of_stringsAPL
// C#の例String.Join ( "-" , { "a" , " b" , "c" }) // "abc"    
「Smalltalkの例」#( 'a'  'b'  'c' )  joinUsing:  '-'  " 'abc' "
# Perl 5 の例join ( '-' , ( 'a' , 'b' , 'c' )); # 'abc'     
# Raku の例<ab c> . join ( '-' ); # 'abc'
# Pythonの例"-" . join ([ "a" ,  "b" ,  "c" ])  # 'abc'
# Rubyの例[ "a" , "b" , "c" ]. join ( "-" ) # 'abc'   
; Scheme の例( use-modules ( srfi srfi-13 )) ( string-join ' ( "a" "b" "c" ) "-" ) ; "abc"       

最後のインデックス

#rfind を参照

意味left(string,n)文字列を返す
説明文字列の左からn番目までの文字列を返します。n文字列の長さより大きい場合、ほとんどの実装では文字列全体を返します(例外もあります。コード例を参照してください)。UTF -8UTF-16Shift-JISなどの可変長エンコーディングの場合、無効な文字列を避けるために、末尾の文字列位置を削除する必要があることに注意してください。
形式言語
string (string'First .. string'First + n - 1)エイダ
substr(string, 0, n)AWK(文字列の変更)、PerlPHPRaku
LEFT$(string,n)ベーシックVB
left(string,n)VBFreeBASICIngresPick Basic
strncpy(string2, string, n)C標準ライブラリ
string.substr(0,n)C++ (STL)、
[string substringToIndex:n]Objective-CNSString *のみ)
(apply str (take n string))クロージュア
string[0 .. n]D [26]
string:substr(string, start, length)アーラン
(subseq string 0 n)コモンリスプ
string[:n]コブラGoPython
left(string,n «,padchar»)レックスアーラン
string[0, n]
string[0..n - 1]
ルビー
string[1, n]基本を選択
string[ .. n]シード7
string.Substring(0,n)VB .NETC#Windows PowerShellF#
leftstr(string, n)PascalObject PascalDelphi
copy (string,1,n)ターボパスカル
string.substring(0,n)Java[27] JavaScript
(string-take string n)スキーム(SRFI 13)
take n stringハスケル
String.extract (string, n, NONE)標準ML
String.sub string 0 nOCaml [28]
string.[..n]F#
string.sub(string, 1, n)
(string):sub(1, n)
ルア
string first: nSmalltalk ( SqueakPharo )
string(:n)フォートラン
StringTake[string, n]マセマティカ[29]
string («FUNCTION» LENGTH(string) - n:n)コボル
string.substring(0, n)コブラ
nstring.APL
string[0..n]
string[..n]
string.get(0..n)
string.get(..n)
[30]
# Raku の例"Hello, there!" . substr ( 0 , 6 ); # "Hello," を返します
/* Rexxの例 */ left ( "abcde" , 3 ) /* "abc" を返す */ left ( "abcde" , 8 ) /* "abcde " を返す */ left ( "abcde" , 8 , "*" ) /* "abcde***" を返す */       
; Schemeの例( use-modules ( srfi srfi-13 )) ( string-take "abcde" , 3 ) ; "abc"を返す( string-take "abcde" , 8 ) ; エラー        
' Visual Basic の例Left ( "sandroguidi" , 3 ) ' は "san" を返しますLeft ( "sandroguidi" , 100 ) ' は "sandroguidi" を返します    


レン

#長さを参照


長さ

意味length(string)整数を返す
説明文字列の長さを返します(ヌル終端文字やその他の文字列内部の構造情報は含みません)。空文字列の場合、長さは0になります。
形式返品言語
string'Lengthエイダ
UPB stringアルゴル68
echo "${#string_param}"バッシュ
length(string)IngresPerl 5、PascalObject PascalDelphi)、RexxSeed7SQLPL/I
len(string)BASICFreeBASICPythonGoPick Basic
length(string), string:len(string)アーラン
Len(string)VBピックベーシック
string.LengthUTF-16 コード単位の数VB .NETC#Windows PowerShellF#
chars(string)
string.chars
書記素の数(NFG)
codes(string)
string.codes
Unicodeコードポイントの数
string.size OR string.lengthバイト数[31]ルビー
strlen(string)バイト数CPHP
string.length()C++ (STL)
string.lengthコブラDJavaScript
string.length()UTF-16 コード単位の数ジャワ
(string-length string)スキーム
(length string)コモンリスプISLISP
(count string)クロージュア
String.length stringOCaml
size string標準ML
length stringUnicodeコードポイントの数ハスケル
string.lengthUTF-16コード単位の数Objective-CNSString *のみ)
string.characters.count文字数スウィフト(2.x)
count(string)文字数スウィフト(1.2)
countElements(string)文字数スウィフト(1.0~1.1)
string.len(string)
(string):len()
#string
ルア
string size雑談
LEN(string)
LEN_TRIM(string)
フォートラン
StringLength[string]マセマティカ
«FUNCTION» LENGTH(string)または

«FUNCTION» BYTE-LENGTH(string)

それぞれ文字数とバイト数コボル
string length string文字数を示す10進文字列Tcl
stringAPL
string.len()バイト数[32]
string.chars().count()Unicodeコードポイントの数[33]
// C# の例"hello" . Length ; // 5 を返す"" . Length ; // 0 を返す  
# Erlangstring : len ( "hello" ). % は5を返しますstring : len ( "" ). % は0を返します     
# Perl の例 5 length ( "hello" ); # 5 を返すlength ( "" ); # 0 を返す  
# Raku の例"" . chars ; chars  "" ; # どちらも 0 を返します"" . codes ; codes  "" ; # どちらも 0 を返します
' Visual Basic の例Len ( "hello" ) ' は 5 を返しますLen ( "" ) ' は 0 を返します  
//Objective-Cの例[ @"hello" Length ] //5を返す[ @"" Length ] //0を返す    
-- Lua の例( "hello" ): len () -- 5 を返します# "" -- 0 を返します  

見つける

#検索を参照


小文字

意味lowercase(string)文字列を返す
説明文字列を小文字で返します。
形式言語
LCase(string)VB
lcase(string)フリーベーシック
lc(string)Perl
string.lc
tolower(char)C [34]
std.string.toLower(string)D
transform(string.begin(), string.end(), result.begin(), ::tolower)[35]C++ [36]
lowercase(string)オブジェクトパスカルデルファイ
strtolower(string)PHP
lower(string)シード7
${string_param,,}バッシュ
echo "string" | tr 'A-Z' 'a-z'Unix
string.lower()パイソン
downcase(string)基本を選択
string.downcaseルビー[37]
strings.ToLower(string)行く
(string-downcase string)Scheme (R6RS)、Common Lisp
(lower-case string)クロージュア
String.lowercase stringOCaml
String.map Char.toLower string標準ML
map Char.toLower stringハスケル
string.toLowerCase()JavaJavaScript
to_lower(string)アーラン
string.ToLower()VB .NETC#Windows PowerShellF#
string.lowercaseStringObjective-CNSString *のみ)、Swift(Foundation)
string.lower(string)
(string):lower()
ルア
string asLowercase雑談
LOWER(string)SQL
lowercase(string)PL/I [8]
ToLowerCase[string]マセマティカ
«FUNCTION» LOWER-CASE(string)コボル
string.toLowerコブラ
string tolower stringTcl
string.to_lowercase()[38]
// C# の例"Wiki は高速を意味しますか?" . ToLower (); // "wiki は高速を意味しますか?" 
; Scheme の例( use-modules ( srfi srfi-13 )) ( string-downcase "Wiki means fast?" ) ; "wiki means fast?"    
/* C言語の例 */ #include <ctype.h> #include <stdio.h>  int main ( void ) { char s [] = "Wiki means fast?" ; for ( int i = 0 ; i < sizeof ( s ) - 1 ; ++ i ) { // 文字を1つずつその場で変換しますs [ i ] = tolower ( s [ i ] ); } printf ( string ); // "wiki means fast?" return 0 ; }                           
# Raku の例"Wiki は高速ですか?" . lc ; # "wiki は高速ですか?"


ミッド

#部分文字列を参照


パーティション

意味<string>.partition(セパレータ) は、セパレータの前の部分文字列、セパレータ、そしてセパレータの後の部分文字列を返します。
説明指定された文字列をセパレーターで分割し、元の文字列を構成する 3 つの部分文字列を返します。
形式言語コメント
string.partition(separator)PythonRuby(1.9以上)
lists:partition(pred, string)アーラン
split /(separator)/, string, 2パール5
split separator, string, 2
string.split( separator, 2 )
区切り文字は正規表現である必要はありません
# 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', "", "")  
# 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');        


交換する

意味replace(string, find, replace)文字列を返す
説明find の出現箇所をreplaceに変更した文字列を返します
形式言語
changestr(find, string, replace)レックス
std.string.replace(string, find, replace)D
Replace(string, find, replace)VB
replace(string, find, replace)シード7
change(string, find, replace)基本を選択
string.Replace(find, replace)C#F#VB.NET
str_replace(find, replace, string)PHP
re:replace(string, find, replace, «{return, list}»)アーラン
string.replace(find, replace)CobraJava(1.5+)、PythonRust [39]
string.replaceAll(find_regex, replace)[40]ジャワ
string.gsub(find, replace)ルビー
string =~ s/find_regex/replace/g[40]パール5
string.subst(find, replace, :g)
string.replace(find, replace, "g") [41]
string.replace(/find_regex/g, replace)[40]
JavaScript
echo "string" | sed 's/find_regex/replace/g'[40]Unix
${string_param//find_pattern/replace}バッシュ
string.replace(find, replace)
string -replace find_regex, replace[40]
Windows PowerShell
Str.global_replace (Str.regexp_string find) replace stringOCaml
[string stringByReplacingOccurrencesOfString:find withString:replace]Objective-CNSString *のみ)
string.stringByReplacingOccurrencesOfString(find, withString:replace)スウィフト(財団)
string.gsub(string, find, replace)
(string):gsub(find, replace)
ルア
string copyReplaceAll: find with: replaceSmalltalk ( SqueakPharo )
string map {find replace} stringTcl
StringReplace[string, find -> replace]マセマティカ
strings.Replace(string, find, replace, -1)行く
INSPECT string REPLACING ALL/LEADING/FIRST find BY replaceコボル
find_regex ⎕R replace_regexstringAPL
// C#の例"effffff" . Replace ( "f" , "jump" ); // "ejumpjumpjumpjumpjumpjump" を返す"blah" . Replace ( "z" , "y" ); // "blah" を返す    
// Java の例"effffff" . replace ( "f" , "jump" ); // "ejumpjumpjumpjumpjumpjump" を返します"effffff" . replaceAll ( "f*" , "jump" ); // "ejump" を返します    
// Raku "effffff" . subst ( "f" , "jump" , : g ); # "ejumpjumpjumpjumpjumpjump" を返します"blah" . subst ( "z" , "y" , : g ); # "blah" を返します 
' Visual Basic の例Replace ( "effffff" , "f" , "jump" ) ' は "ejumpjumpjumpjumpjump" を返しますReplace ( "blah" , "z" , "y" ) ' は "blah" を返します      
# Windows PowerShell の例"effffff"  -replace  "f" ,  "jump"  # "ejumpjumpjumpjumpjumpjump" を返します"effffff"  -replace  "f*" ,  "jump"  # "ejump" を返します

逆行する

意味reverse(string)
説明文字列内の文字の順序を逆にします。
形式言語
reverse stringPerl 5、Haskell
flip string
string.flip
lists:reverse(string)アーラン
strrev(string)PHP
string[::-1]パイソン
(string-reverse string)スキーム(SRFI 13)
(reverse string)コモンリスプ
string.reverseRubyD(文字列を変更する)
new StringBuilder(string).reverse().toString()ジャワ
std::reverse(string.begin(), string.end());C++ (std::stringのみ、文字列を変更)
StrReverse(string)VB
string.Reverse()VB .NETC#
implode (rev (explode string))標準ML
string.split("").reverse().join("")JavaScript
string.reverse(string)
(string):reverse()
ルア
string reverse雑談
StringReverse[string]マセマティカ
reverse(string)PL/I
«FUNCTION» REVERSE(string)コボル
string.toCharArray.toList.reversed.join()コブラ
String(string.characters.reverse())スウィフト(2.x)
String(reverse(string))スウィフト(1.2)
string reverse stringTcl
stringAPL
string.chars().rev().collect::<String>()[42]
echo string | revUnix
「Smalltalk の例」 「'hello' を逆にすると 'olleh' が返されます」
# Perl 5 の例"hello"を逆にすると、"olleh" が返されます  
# Raku の例"hello" . flip  # は "olleh" を返します
# Pythonの例"hello" [:: - 1 ]  # "olleh"を返します
; Schemeの例( use-modules ( srfi srfi-13 )) ( string-reverse "hello" ) ; "olleh"を返します    

rfind

意味rfind(string,substring)整数を返す
説明文字列内の部分文字列の最後の出現位置を返します部分文字列が見つからない場合、これらのルーチンのほとんどは無効なインデックス値(インデックスが0から始まる場合は-1、1から始まる場合は0)を返すか、ブール値FALSEとして解釈される値を返します。
関連している命令
形式言語見つからない場合
InStrRev(«startposstring,substring)VB0を返す
instrrev(«startposstring,substring)フリーベーシック0を返す
rindex(string,substring«,startpos»)パール5−1を返す
rindex(string,substring«,startpos»)
string.rindex(substring«,startpos»)
Nilを返します
strrpos(string,substring«,startpos»)PHPFALSEを返します
string.rfind(substring«,startpos»)C++ (STL)std::string::nposを返す
std.string.rfind(string, substring)D−1を返す
string.rfind(substring«,startpos«, endpos»»)パイソン−1を返す
string.rindex(substring«,startpos«, endpos»»)ValueErrorが発生します
rpos(string, substring«,startpos»)シード70を返す
string.rindex(substring«,startpos»)ルビーnilを返す
strings.LastIndex(string, substring)行く−1を返す
string.lastIndexOf(substring«,startpos»)JavaJavaScript−1を返す
string.LastIndexOf(substring«,startpos«, charcount»»)VB .NETC#Windows PowerShellF#−1を返す
(search substring string :from-end t)コモンリスプNILを返します
[string rangeOfString:substring options:NSBackwardsSearch].locationObjective-CNSString *のみ)NSNotFoundを返します
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1)OCamlNot_foundが発生します
string.match(string, '.*()'..substring)
string:match('.*()'..substring)
ルアnilを返す
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring, Going => Ada.Strings.Backward)エイダ0を返す
string.lastIndexOf(substring«,startpos«, charcount»»)コブラ−1を返す
string lastIndexOfString:substring雑談0を返す
string last substring string startposTcl−1を返す
(⌽<\substring'string')1APL−1を返す
string.rfind(substring)[43]Noneを返します
; Common Lisp の例( search "e" "Hello mate" :from-end t ) ; 9 を返す( search "z" "word" :from-end t ) ; NIL を返す          
// C# の例"Hello mate" . LastIndexOf ( "e" ); // 9 を返す"Hello mate" . LastIndexOf ( "e" , 4 ); // 1 を返す"word" . LastIndexOf ( "z" ); // -1 を返す    
# Perl 5 の例rindex ( "Hello mate" , "e" ); # 9 を返すrindex ( "Hello mate" , "e" , 4 ); # 1 を返すrindex ( "word" , "z" ); # -1 を返す       
# Raku の例"Hello mate" . rindex ( "e" ); # 9 を返します"Hello mate" . rindex ( "e" , 4 ); # 1 を返します"word" . rindex ( 'z' ); # Nil を返します
' Visual Basic の例InStrRev ( "Hello mate" , "e" ) ' は 10 を返しますInStrRev ( 5 , "Hello mate" , "e" ) ' は 2 を返しますInStrRev ( "word" , "z" ) ' は 0 を返します       


意味right(string,n)文字列を返す
説明文字列の右側のn部分を返します。n文字列の長さより大きい場合、ほとんどの実装では文字列全体を返します(例外もあります。コード例を参照してください)。
形式言語
string (string'Last - n + 1 .. string'Last)エイダ
Right(string,n)VB
RIGHT$(string,n)ベーシック
right(string,n)FreeBASICIngresPick Basic
strcpy(string2, string+n)nは文字列の長さより大きくてはいけませんC
string.Substring(string.Length()-n)C#
string[len(string)-n:]行く
string.substring(string.length()-n)ジャワ
string.slice(-n)JavaScript [44]
right(string,n «,padchar»)レックスアーラン
substr(string,-n)Perl5PHP
substr(string,*-n)
string.substr(*-n)
string[-n:]コブラパイソン
${string_param: -n}(コロンの後のスペースに注意してください)バッシュ
string[n]基本を選択
(string-take-right string n)スキーム(SRFI 13)
string[-n..-1]ルビー
string[$-n .. $]D [45]
String.sub string (String.length string - n) nOCaml [28]
string.sub(string, -n)
(string):sub(-n)
ルア
string last: nSmalltalk ( SqueakPharo )
StringTake[string, -n]マセマティカ[29]
string (1:n)コボル
¯nstring.APL
string[n..]
string.get(n..)
[30]
// Javaの例; 右端の4文字を抽出String str = "CarDoor" ; str . substring ( str . length () - 4 ); // 'Door'を返す    
# Rakuの例"abcde" . substr (*- 3 ); # "cde" を返す"abcde" . substr (*- 8 ); # '範囲外'エラー
/* Rexxの例 */ right ( "abcde" , 3 ) /* "cde" を返す */ right ( "abcde" , 8 ) /* " abcde" を返す */ right ( "abcde" , 8 , "*" ) /* "***abcde" を返す */       
; Schemeの例( use-modules ( srfi srfi-13 )) ( string-take-right "abcde" , 3 ) ; "cde"を返す( string-take-right "abcde" , 8 ) ; エラー        
' Visual Basic の例Right ( "sandroguidi" , 3 ) ' は "idi" を返しますRight ( "sandroguidi" , 100 ) ' は "sandroguidi" を返します    


rパーティション

意味<string>.rpartition(セパレーター) は、文字列内で右から左にセパレーターを検索し、セパレーターの前の部分文字列、セパレーター、セパレーターの後の部分文字列を返します。
説明指定された文字列を右端の区切り文字で分割し、元の文字列を構成する 3 つの部分文字列を返します。
形式言語
string.rpartition(separator)PythonRuby
# Python の例"Spam eggs spam spam and ham" . rpartition ( 'spam' )  ### ('Spam eggs spam ', 'spam', ' and ham') "Spam eggs spam spam and ham" . rpartition ( 'X' )  ### ("", "", 'Spam eggs spam spam and ham')

スライス

#部分文字列を参照


スプリット

意味<string>.split(セパレータ[, limit ])は、文字列をセパレータで分割します。オプションで、制限された数の部分文字列のみを分割します。
説明指定された文字列をセパレータ(文字列)の出現回数で分割し、部分文字列のリスト(または配列)を返します。limitが指定された場合、limit - 1 個のセパレータを読み取った後残りの文字列がセパレータの有無にかかわらず、最後の部分文字列になります。Scheme と Erlang の実装は似ていますが、いくつかの点で異なります。JavaScript は、文字列を分割する点でも異なり、残りの文字列を最後の要素に挿入しません。こちらの例を参照してください。Cobra の実装では、デフォルトで空白文字が使用されます。joinの反対です。
形式言語
split(/separator/, string«, limit»)パール5
split(separator, string«, limit»)
string.split(separator, «limit»)
explode(separator, string«, limit»)PHP
string.split(separator«, limit-1»)パイソン
string.split(separator«, limit»)JavaScriptJavaRuby
string:tokens(string, sepchars)アーラン
strings.Split(string, separator)
strings.SplitN(string, separator, limit)
行く
(string-tokenize string« charset« start« end»»»)スキーム(SRFI 13)
Split(string, sepchars«, limit»)VB
string.Split(sepchars«, limit«, options»»)VB .NETC#F#
string -split separator«, limit«, options»»Windows PowerShell
Str.split (Str.regexp_string separator) stringOCaml
std.string.split(string, separator)D
[string componentsSeparatedByString:separator]Objective-CNSString *のみ)
string.componentsSeparatedByString(separator)スウィフト(財団)
TStringList.Delimiter, TStringList.DelimitedTextオブジェクトパスカル
StringSplit[string, separator«, limit»]マセマティカ
string.split«(sepchars«, limit«, options»»)»コブラ
split string separatorTcl
(separatorstring)⊂stringDyalog APL 16.0のAPL2
separator(≠⊆⊢)string
APL
string.split(separator)

string.split(limit, separator)

[46]
// C# の例"abc,defgh,ijk" . Split ( ',' ); // {"abc", "defgh", "ijk"} "abc,defgh;ijk" . Split ( ',' , ';' ); // {"abc", "defgh", "ijk"}   
% Erlang文字列の例トークン"abc;defgh;ijk" ";" )。% ["abc", "defgh", "ijk"]  
// Java の例"abc,defgh,ijk" . split ( "," ); // {"abc", "defgh", "ijk"} "abc,defgh;ijk" . split ( ",|;" ); // {"abc", "defgh", "ijk"}  
{ 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 ;                         
# 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')    
# Raku の例'Spam eggs spam spam and ham' . split ( /spam/ ); # (Spam eggs and ham) split ( /X/ , 'Spam eggs spam spam and ham' ); # (Spam eggs spam spam and ham)


スプリント

#フォーマットを参照

ストリップ

#trimを参照


strcmp

#Compare (整数結果)を参照


部分文字列

意味substring(string, startpos, endpos)文字列を返す文字列を返す
substr(string, startpos, numChars)
説明文字列のstartposからendposまでの部分文字列、またはstartposから始まる長さnumCharsの部分文字列を返します。結果の文字列は、開始点からnumChars文字未満の場合、切り捨てられます。endpos、部分文字列の最後の文字の後のインデックスを表します。UTF -8UTF-16Shift-JISなどの可変長エンコードの場合、無効な文字列を回避するために、末尾の文字列位置を削除する必要があることに注意してください。
形式言語
string[startpos:endpos]ALGOL 68 (ベースインデックスの変更)
string (startpos .. endpos)Ada(ベースインデックスを変更)
Mid(string, startpos, numChars)VB
mid(string, startpos, numChars)フリーベーシック
string[startpos+(⍳numChars)-~⎕IO]APL
MID$(string, startpos, numChars)ベーシック
substr(string, startpos, numChars)AWK(文字列の変更)、Perl 5、[47] [48] PHP [47] [48]
substr(string, startpos, numChars)
string.substr(startpos, numChars)
[49] [50]
substr(string, startpos «,numChars, padChar»)レックス
string[startpos:endpos]コブラパイソン[47] [51] ゴー
string[startpos, numChars]基本を選択
string[startpos, numChars]
string[startpos .. endpos-1]
string[startpos ... endpos]
ルビー[47] [51]
string[startpos .. endpos]
string[startpos len numChars]
シード7
string.slice(startpos«, endpos»)JavaScript [47] [51]
string.substr(startpos«, numChars»)C++ (STL)、JavaScript
string.Substring(startpos, numChars)VB .NETC#Windows PowerShellF#
string.substring(startpos«, endpos»)JavaJavaScript
copy(string, startpos, numChars)オブジェクトパスカルデルファイ
(substring string startpos endpos)スキーム
(subseq string startpos endpos)コモンリスプ
(subseq string startpos endpos)ISLISP
String.sub string startpos numCharsOCaml
substring (string, startpos, numChars)標準ML
string:sub_string(string, startpos, endpos)
string:substr(string, startpos, numChars)
アーラン
strncpy(result, string + startpos, numChars);C
string[startpos .. endpos+1]D
take numChars $ drop startpos stringハスケル
[string substringWithRange:NSMakeRange(startpos, numChars)]Objective-CNSString *のみ)
string.[startpos..endpos]F#
string.sub(string, startpos, endpos)
(string):sub(startpos, endpos)
ルア[47] [51]
string copyFrom: startpos to: endpos雑談
string(startpos:endpos)フォートラン
SUBSTRING(string FROM startpos «FOR numChars»)SQL
StringTake[string, {startpos, endpos}]マセマティカ[47] [51]
string (startpos:numChars)コボル
${string_param:startpos:numChars}バッシュ
string range string startpos endposTcl
string[startpos..endpos]
string.get(startpos..endpos)
[30]
// C#の例"abc" . Substring ( 1 , 1 ): // "b" を返す"abc" . Substring ( 1 , 2 ); // "bc" を返す"abc" . Substring ( 1 , 6 ); // エラー      
;; Common Lisp の例( subseq "abc" 1 2 ) ; "b" を返します( subseq "abc" 2 ) ; "c" を返します       
% Erlangの例文字列: substr ( "abc" , 2 , 1 ). % "b" を返す文字列: substr ( "abc" , 2 ). % "bc" を返す     
# Perl 5 の例substr ( "abc" , 1 , 1 ); # "b" を返すsubstr ( "abc" , 1 ); # "bc" を返す     
# Rakuの例"abc" . substr ( 1 , 1 ); # "b" を返す"abc" . substr ( 1 ); # "bc" を返す
# Pythonの例"abc" [ 1 : 2 ]  # "b"を返す " abc" [ 1 : 3 ]  # "bc"を返す
/* Rexx の例 */ substr ( "abc" , 2 , 1 ) /* "b" を返します */ substr ( "abc" , 2 ) /* "bc" を返します */ substr ( "abc" , 2 , 6 ) /* "bc " を返します */ substr ( "abc" , 2 , 6 , "*" ) /* "bc****" を返します */            


大文字

意味uppercase(string)文字列を返す
説明文字列を大文字で返します。
形式言語
UCase(string)VB
ucase(string)フリーベーシック
toupper(string)AWK (文字列を変更)
uc(string)Perl
string.uc
toupper(char)C (1文字を操作)
for (size_t i = 0, len = strlen(string); i< len; i++) string[i] = toupper(string[i]);
for (char* c = string; *c != '\0'; c++) *c = toupper(*c);
C (文字列/文字配列)
std.string.toUpper(string)D
transform(string.begin(), string.end(), result.begin(), toupper)[35]C++ [52]
uppercase(string)オブジェクトパスカルデルファイ
upcase(char)Object Pascal ( Delphi ) (1文字を操作)
strtoupper(string)PHP
upper(string)シード7
${string_param^^}(記憶法:^は上向き)バッシュ
echo "string" | tr 'a-z' 'A-Z'Unix
translate(string)
UPPER variables
PARSE UPPER VAR SrcVar DstVar
レックス
string.upper()パイソン
upcase(string)基本を選択
string.upcaseルビー[37]
strings.ToUpper(string)行く
(string-upcase string)SchemeCommon Lisp
String.uppercase stringOCaml
String.map Char.toUpper string標準ML
map Char.toUpper stringハスケル
string.toUpperCase()JavaJavaScript
string.uppercase()コトリン[53]
to_upper(string)アーラン
string.ToUpper()VB .NETC#Windows PowerShellF#
string.uppercaseStringObjective-CNSString *のみ)、Swift(Foundation)
string.upper(string)
(string):upper()
ルア
string asUppercase雑談
UPPER(string)SQL
ToUpperCase[string]マセマティカ
«FUNCTION» UPPER-CASE(string)コボル
string.toUpperコブラ
string toupper stringTcl
string.to_uppercase()[54]
// C# の例"Wiki は高速ですか?" . ToUpper (); // "WIKI は高速ですか?" 
# Perl 5 の例uc ( "Wiki は高速ですか?" ); # "WIKI は高速ですか?" 
# Raku の例uc ( "Wiki means fast?" ); # "WIKI MEANS FAST?" "Wiki means fast?" . uc ; # "WIKI MEANS FAST?"
/* Rexx の例 */ translate ( "Wiki は高速を意味しますか?" ) /* "WIKI は高速を意味しますか?" */ /* 例 #2 */
A = 'これは例です。'
UPPER  A /* "これは例です。" */ /* 例 #3 */
A = 'Translate Function を使用した upper。'
Translate  UPPER  VAR  A  Z /* Z="UPPER USING TRANSLATE FUNCTION。" */ 
; Scheme の例( use-modules ( srfi srfi-13 )) ( string-upcase "Wiki means fast?" ) ; "WIKI MEANS FAST?"    
' Visual Basic UCaseの例( "Wiki は高速を意味しますか?" ) ' "WIKI は高速を意味しますか?" 

トリム

trimor は、strip文字列の先頭、末尾、または先頭と末尾の両方から空白を削除するために使用されます。

使用例言語
String.Trim([chars])C#VB.NETWindows PowerShell
string.strip();D
(.trim string)クロージュア
sequence [ predicate? ] trim要素
(string-trim '(#\Space #\Tab #\Newline) string)コモンリスプ
(string-trim string)スキーム
string.trim()JavaJavaScript(1.8.1以上、Firefox 3.5以上)、Rust [55]
Trim(String)パスカル[56] QBasicVisual BasicDelphi
string.strip()パイソン
strings.Trim(string, chars)行く
LTRIM(RTRIM(String))Oracle SQLT-SQL
strip(string [,option, char])レックス
string:strip(string [,option, char])アーラン
string.strip
string.lstrip
string.rstrip
ルビー
string.trim
trim(string)PHP
[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]Cocoaを使用したObjective-C
string withBlanksTrimmed
string withoutSpaces
string withoutSeparators
Smalltalk ( SqueakPharo )
Smalltalk
strip(string)SAS
string trim $stringTcl
TRIM(string)
TRIM(ADJUSTL(string))
フォートラン
TRIM(string)SQL
TRIM(string)
LTrim(string)
RTrim(String)
コールドフュージョン
String.trim stringOCaml 4以上

その他の言語

組み込みのトリム関数がない言語では、通常、同じタスクを実行するカスタム関数を作成するのは簡単です。

APL

APL では正規表現を直接使用できます。

トリム'^ +| +$' ⎕R ''

あるいは、先頭と末尾のスペースを除去するブールマスクを組み合わせた機能的なアプローチもあります。

トリム{ /⍨ ( \ ⌽∨ \∘ ) ' ' }

または、逆に先頭のスペースを 2 回削除します。

トリム{ ( \ ' ' ) / } 2

AWK

AWKでは、正規表現を使用してトリミングできます。

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

または:

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

C/C++

CやC++には標準的なトリム関数はありません。Cで利用可能な文字列ライブラリ[57]のほとんどには、トリムを実装するコード、または効率的な実装を大幅に容易にする関数が含まれています。この関数は、非標準のCライブラリではEatWhitespaceと呼ばれることもあります。

C では、プログラマーは ltrim と rtrim を組み合わせて trim を実装することがよくあります。

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

オープンソースのC++ライブラリBoostには、標準的なものを含め、いくつかのトリムバリアントがあります。[58]

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

boost の関数名が simple の場合、trim入力シーケンスはインプレースで変更され、結果は返されません。

もう一つのオープンソースC++ライブラリQtには、標準的なものを含むいくつかのトリムバリアントがあります。[59]

#include <QString> トリム= s .トリム();  

Linuxカーネルには、2.6.18-rc1以降、文字列を「その場で」トリミングするstrip 関数 も含まれていますstrstrip()。2.6.33-rc1以降、カーネルは誤った警告を回避するためstrim()に の代わりにを使用していますstrstrip()[60]

ハスケル

Haskellのトリムアルゴリズム:

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

は次のように解釈できます。f先行する空白を削除し、文字列を反転します。その後、 fは自身の出力に再度適用されます。型シグネチャ(2行目)はオプションであることに注意してください。

J

Jのトリム アルゴリズムは関数記述です

 トリム=. #~ [: ( +./\ *. +./\. ) ' ' &~:       

つまり、先頭のスペース ( ) と末尾のスペース ( ) の間にあるスペース#~以外の文字 ( ) をフィルター ( )します' '&~:+./\*.+./\.

JavaScript

JavaScript 1.8.1(Firefox 3.5以降)およびECMAScript 5標準には、組み込みのtrim関数があります。それ以前のバージョンでは、Stringオブジェクトのプロトタイプに次のように追加できます。

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

パール

Perl 5には組み込みのトリム関数はありません。ただし、この機能は正規表現を使用することで実現されるのが一般的です。

例:

$string =~ s/^\s+// ; # 先頭の空白を削除します$string =~ s/\s+$// ; # 末尾の空白を削除します      

または:

$string =~ s/^\s+|\s+$//g ; # 先頭と末尾の空白を削除します    

これらの例では、元の変数の値を変更します$string

Perl ではCPANStripLTSpace利用可能です。String::Strip

chompただし、文字列の末尾から空白を削除するためによく使用される関数が 2 つありますchop

  • chop文字列から最後の文字を削除して返します。
  • chomp文字列の末尾に改行文字がある場合は削除します。(改行文字の構成要素は $INPUT_RECORD_SEPARATOR に依存します)。

Perl の姉妹言語となるRakuでは、文字列にtrimメソッドがあります。

例:

$string = $string . trim ; # 先頭と末尾の空白を削除します$string .= trim ; # 同じです

Tcl

Tclコマンドには、、という3つの関連サブコマンドがあります これらのコマンドごとに、削除する文字セットを表す文字列(デフォルトは空白文字(スペース、タブ、改行、復帰))という追加の引数を指定できます。stringtrimtrimrighttrimleft

母音のトリミングの例:

set  string  onomatopoeia set  trimmed [ string trim $string aeiou ] ; # 結果は擬音語になりますset r_trimmed [ string trimright $string aeiou ] ; # 結果は擬音語になりますset l_trimmed [ string trimleft $string aeiou ] ; # 結果は擬音語になります                 

XSLT

XSLT には、先頭と末尾の空白を削除する機能に加え、空白シーケンス (改行を含む) を 1 つのスペースに置き換える機能が含まれています。normalize-space(string)

例:

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

XSLT 2.0 には正規表現が含まれており、文字列のトリミングを実行するための別のメカニズムを提供します。

トリミングのためのもう 1 つの XSLT テクニックは、XPath 2.0substring()関数を利用することです。

参考文献

  1. ^ abcde インデックスは負の値になる場合があり、その場合は文字列の末尾の前の数を示します。
  2. ^ Rust では、str::chars メソッドはコード ポイントを反復処理し、反復子の std::iter::Iterator::nth メソッドは反復子からゼロ インデックスの n 番目の値、つまり を返しますNone
  3. ^ インデックスは負の値にできません。*-N を使用してください。ここ、N は文字列の末尾の前の位置の数を示します。
  4. ^ C++ では、文字列のオーバーロードされた operator<=> メソッドは、std::strong_ordering オブジェクト (それ以外の場合はstd::weak_ordering) を返します: lessequal( と同じequivalent)、またはgreater
  5. ^は LESS、EQUAL、またはGREATERを返します
  6. ^は LT、EQ、またはGTを返します
  7. ^ はまたはを返します。これらの関数は ASCII 照合シーケンスに基づいています。.TRUE..FALSE.
  8. ^ ab IBM 拡張子。
  9. ^ Rust では、文字列の Ord::cmp メソッドは Ordering: LessEqual、またはを返しますGreater
  10. ^ オリジナルの REXX では論理否定に ¬ を使用していましたが、ANSI Rexx では \ を使用し、一部の実装では ~ または ^ を受け入れ、EBCDIC 以外の実装では ¬ がコード ポイント AA にあるか AC にあるかが異なります。
  11. ^ オリジナルの PL/I では論理否定に ¬ を使用していましたが、実装によっては ^ が想定されており、EBCDIC 以外の実装では ¬ がコード ポイント AA にあるか AC にあるかが異なります。
  12. ^ abcdef Rust では、演算子==!=およびメソッドは PartialEq トレイトによって実装され、演算子<><=>=およびメソッドPartialOrd トレイトによって実装されます。eqneltgtlege
  13. ^ 演算子はコンパイラのデフォルトの照合シーケンスを使用します。
  14. ^ は を変更します。結果を格納するのに十分なスペースが必要です。string1
  15. ^ Rust では、+演算子は Add 特性によって実装されます。
  16. ^ str::contains メソッドを参照してください。
  17. ^ std::basic_string::contains メソッドを参照してください。
  18. ^ ab startposは IBM 拡張です。
  19. ^ ab str::find メソッドを参照してください。
  20. ^ startposは IBM 拡張子です。
  21. ^ 「Fortran Wikiのscan」Fortranwiki.org. 2009年4月30日. 2013年8月18日閲覧
  22. ^ "verify in Fortran Wiki". Fortranwiki.org. 2012年5月3日. 2013年8月18日閲覧
  23. ^ は、 formatstring正しい型を持つためには、コンパイル時に固定リテラルである必要があります。
  24. ^ Rust プレリュードによってインポートされ、 という名前で使用できるようになる std::format を参照してくださいformat
  25. ^ slice::join メソッドを参照してください。
  26. ^ n が文字列の長さより大きい場合、デバッグ モードでは ArrayRangeException がスローされ、リリース モードでは動作は未指定になります。
  27. ^ nが文字列の長さより大きい場合、JavaはIndexOutOfBoundsExceptionをスローします。
  28. ^ ab nが文字列の長さより大きい場合はInvalid_argumentが発生します
  29. ^ ab n が文字列の長さより大きい場合は、メッセージ "StringTake::take:" をスローします。
  30. ^ abc Rustでは、文字列はバイトオフセットでインデックス付けされます。インデックスが範囲外の場合、または無効なUTF-8となる場合は、実行時パニックが発生します。文字列参照は、Range( )、RangeFrom( )、RangeTo( )&strなど、様々な型の範囲でインデックス付けできます。これらはすべて、インデックス付け対象の型を引数とするSliceIndex特性を実装しているためです。str::getメソッドは、パニックを起こさずにインデックス付けを行う方法です。インデックス付けがパニックになるような場合には、このメソッドは戻り値を返します。0..nn....nstrNone
  31. ^ RubyはUnicodeをサポートしていない
  32. ^ str::len メソッドを参照してください。
  33. ^ Rust では、str::chars メソッドはコード ポイントを反復処理し、反復子の std::iter::Iterator::count メソッドは反復子を消費し、反復子内の要素の合計数を返します。
  34. ^ は1文字を操作します
  35. ^ ab 関数は名前空間transformに存在しますstd::<algorithm>使用するにはヘッダーファイルをインクルードする必要があります。関数tolowertoupper関数は、ヘッダーファイルによって取得されるグローバル名前空間にあります<ctype.h>。関数std::tolowerと関数名はオーバーロードされており、関数オーバーロードの曖昧さを解決するためのキャストなしでstd::toupperは渡すことができません。例:std::transformstd::transform(string.begin(), string.end(), result.begin(), (int (*)(int))std::tolower);
  36. ^ std::stringのみ、結果はresult少なくとも と同じ長さの文字列に格納されstring、それstring自体である場合もそうでない場合もあります。
  37. ^ ab RubyはUnicodeをサポートしていないため、ASCII文字のみ
  38. ^ str::to_lowercase メソッドを参照してください。
  39. ^ str::replace メソッドを参照してください。
  40. ^ abcde この構文内の「find」文字列は正規表現として解釈されます。正規表現では、特定の文字が特別な意味を持ちます。文字列を文字通り検索したい場合は、特殊文字を引用符で囲む必要があります。
  41. ^ 3番目のパラメータは非標準です
  42. ^ Rust では、str::chars メソッドはコード ポイントを反復処理し、可逆反復子 (std::iter::DoubleEndedIterator) の std::iter::Iterator::rev メソッドは反転反復子を作成し、std::iter::Iterator::collect メソッドは反復子を使用して反復子の要素からコレクション (ここでは turbofish 構文の文字列として指定されます) を作成します。
  43. ^ str::rfind メソッドを参照してください。
  44. ^ “Annotated ES5”. Es5.github.com. 2013年1月28日時点のオリジナルよりアーカイブ2013年8月18日閲覧。
  45. ^ nが文字列の長さより大きい場合、デバッグモードではArrayRangeExceptionがスローされ、リリースモードでは未指定の動作が発生します。
  46. ^ str::split および str::rsplit メソッドを参照してください。
  47. ^ abcdefg は startpos負の値にすることができ、文字列の末尾からその数だけ前の位置から開始することを示します。
  48. ^ ab は numChars負の値にすることができ、文字列の末尾からその数だけ前で終了することを示します。
  49. ^ は負の値にstartposできません。文字列の末尾からその数だけ前の位置で開始することを示すには、 * - startposを使用します。
  50. ^ は負の値にnumCharsできません。文字列の末尾からその数だけ前で終了することを示すには、 * - numCharsを使用します。
  51. ^ abcde は endpos負の値にすることができ、文字列の末尾からその数だけ前で終了することを示します。
  52. ^ std::stringのみ、結果は少なくともstringと同じ長さの文字列resultに格納され、文字列自体である場合もそうでない場合もあります。
  53. ^ 「uppercase - Kotlinプログラミング言語」Kotlin . 2024年11月9日閲覧
  54. ^ Rust では、str::to_uppercase メソッドは、Unicode の規則に従って小文字を大文字に変更した、新しく割り当てられた文字列を返します。
  55. ^ Rust では、str::trim メソッドは元の への参照を返します&str
  56. ^ “トリム – GNU Pascal priručnik”. Gnu-pascal.de 2013 年 8 月 24 日に取得
  57. ^ 「文字列ライブラリの比較」And.org . 2013年8月24日閲覧
  58. ^ 「Usage – 1.54.0」. Boost.org. 2013年5月22日. 2013年8月24日閲覧
  59. ^ [1] 2009年8月2日アーカイブ、Wayback Machine
  60. ^ dankamongmen. "sprezzos-kernel-packaging/changelog at master · dankamongmen/sprezzos-kernel-packaging · GitHub". Github.com . 2016年5月29日閲覧
Retrieved from "https://en.wikipedia.org/w/index.php?title=Comparison_of_programming_languages_(string_functions)&oldid=1318508402"