プログラミング言語の比較(文字列関数)
文字列関数は、コンピュータプログラミング言語で文字列を操作したり、文字列に関する情報を照会したりするために使用されます (両方を行うものもあります)。
文字列データ型を持つプログラミング言語のほとんどには、何らかの文字列関数が用意されていますが、各言語には文字列を直接処理する低レベルの手段が他にも存在する場合があります。オブジェクト指向言語では、文字列関数は文字列オブジェクトのプロパティやメソッドとして実装されることがよくあります。関数型言語やリストベース言語では、文字列は文字コードのリストとして表現されるため、すべてのリスト操作手順は文字列関数と見なすことができます。ただし、これらの言語では、明示的に文字列固有の関数のサブセットも実装されている場合があります。
文字列を操作する関数について、 C#やJavaなどの現代的なオブジェクト指向言語は不変の文字列を持ち、そのコピー(新しく割り当てられた動的メモリ内)を返します。一方、C言語などの他の言語は、プログラマーがデータを新しい文字列にコピーしない限り、元の文字列を操作します。例えば、以下の連結を参照してください。
文字列関数の最も基本的な例は関数です。この関数は文字列リテラルlength(string)の長さを返します。
- 例えば、
length("hello world")11 を返します。
他の言語にも、構文やパラメータ、結果が類似または全く同じ文字列関数が存在する場合があります。例えば、多くの言語では長さ関数は通常len(string)と表記されます。以下に一般的な関数をリストアップすることで、こうした混乱を軽減することができます。
一般的な文字列関数(多言語リファレンス)
多くの言語で共通する文字列関数を、様々な名称も含めて以下に列挙します。以下の共通関数リストは、プログラマーが各言語における同等の関数を見つけるのに役立つことを目的としています。なお、文字列連結と正規表現は別のページで扱っています。ギユメ記号(« … »)で囲まれた文は省略可能です。
キャラット
| 意味 | charAt(string,integer)文字を返します。 |
|---|---|
| 説明 | 文字列内のインデックスにある文字を返します。 |
| 同等 | 長さ 1 文字の部分文字列を参照してください。 |
| 形式 | 言語 | ベース インデックス |
|---|---|---|
string[i] | ALGOL 68、APL、Julia、Pascal、Object Pascal(Delphi)、Seed7 | 1 |
string[i] | C、C++、C#、Cobra、D、FreeBASIC、Go、Python、[1] PHP、Ruby、[1] Windows PowerShell、JavaScript、APL | 0 |
string{i} | PHP (5.3 で非推奨) | 0 |
string(i) | エイダ | ≥1 |
Mid(string,i,1) | VB | 1 |
MID$(string,i,1) | ベーシック | 1 |
string.Chars(i) | VB.NET | 0 |
string(i:i) | フォートラン | 1 |
string.charAt(i) | Java、JavaScript | 0 |
string.[i] | OCaml、F# | 0 |
string.chars().nth(i) | 錆[2] | 0 |
string[i,1] | 基本を選択 | 1 |
String.sub (string, i) | 標準ML | 0 |
string !! i | ハスケル | 0 |
(string-ref string i) | スキーム | 0 |
(char string i) | コモンリスプ | 0 |
(elt string i) | ISLISP | 0 |
(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/I | 1 |
string.at(i) | C++ (STL) (境界チェック付き) | 0 |
lists:nth(i, string) | アーラン | 1 |
[string characterAtIndex:i] | Objective-C(NSString *のみ) | 0 |
string.sub(string, i, i)(string):sub(i, i) | ルア[1] | 1 |
string at: i | Smalltalk(境界チェック付き) | 1 |
string index string i | Tcl | 0 |
StringTake[string, {i}] | Mathematica、Wolfram言語[1] | 1 |
string@i | エッフェル | 1 |
string (i:1) | コボル | 1 |
${string_param:i:1} | バッシュ | 0 |
i⌷string | APL | 0または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) | C、PHP |
std.string.cmp(string1, string2) | D |
StrComp(string1, string2) | VB、Object Pascal(Delphi) |
string1 cmp string2 | Perl、楽 |
string1 compare: string2 | Smalltalk ( Squeak、Pharo ) |
string1 <=> string2 | Ruby、C++(STL、C++20)[4] |
string1.compare(string2) | C++ (STL)、Swift (Foundation) |
compare(string1, string2) | レックス、シード7 |
compare(string1, string2, pad) | レックス |
CompareStr(string1, string2) | Pascal、Object Pascal(Delphi) |
string1.compareTo(string2) | コブラ、ジャワ |
string1.CompareTo(string2) | VB .NET、C#、F# |
(compare string1 string2) | クロージュア |
(string= string1 string2) | コモンリスプ |
(string-compare string1 string2 p< p= p>) | スキーム(SRFI 13) |
(string= string1 string2) | ISLISP |
compare string1 string2 | OCaml |
String.compare (string1, string2) | 標準ML [5] |
compare string1 string2 | ハスケル[6] |
[string]::Compare(string1, string2) | Windows PowerShell |
[string1 compare:string2] | Objective-C(NSString *のみ) |
LLT(string1,string2)LLE(string1,string2)LGT(string1,string2)LGE(string1,string2) | フォートラン[7] |
string1.localeCompare(string2) | JavaScript |
| 行く |
string compare string1 string2 | Tcl |
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のいずれかになります。 | Pascal、Object Pascal ( Delphi )、OCaml、Seed7、Standard ML、BASIC、VB、VB .NET、F# |
string1 OP string2ここで、は=、/=、≠、<、>、<=、≤、 ≥のOPいずれかです。また、EQ、NE、LT、LE、GE、GTも使用できます。 | アルゴル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 string2(eq、ne、lt、gt、le、geOPのいずれか) | Perl、 楽 |
string1 OP string2、ここでは==、!=、<、>、<=、 > =OPのいずれかになります。 | C++ (STL)、C#、D、Go、JavaScript、Python、PHP、Ruby、Rust、[12] Swift |
string1 OP string2、-eq、-ceq、-ne、-cne、-lt、-clt、-gt、-cgt、-le、-cle、-ge、 -cgeのOPいずれかになります(' 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)関数を使用してください。 | C、Java |
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 string2 | Rexx(アバットメント、相当)string1 || string2 |
string1 whitespace string2 | Rexx( と同等)string1 || ' ' || string2 |
string1 & string2 | Ada、FreeBASIC、Seed7、BASIC、VB、VB .NET、COBOL(リテラル間のみ) |
strcat(string1, string2) | C、C++(のみ)[14]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、[15] F#、Swift、Turing、VB |
string1 ~ string2 | D、楽 |
(string-append string1 string2) | Scheme、ISLISP |
(concatenate 'string string1 string2) | コモンリスプ |
(str string1 string2) | クロージュア |
string1 || string2 | Rexx、SQL、PL/I |
string1 // string2 | フォートラン |
string1 ++ string2 | Erlang、Haskell |
string1 ^ string2 | OCaml、標準 ML、F# |
[string1 stringByAppendingString:string2] | Objective-C(NSString *のみ) |
string1 .. string2 | ルア |
string1 , string2 | Smalltalk、APL |
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) != NULL | C、C++(char *のみ) |
string.Contains(substring) | C#、VB .NET、Windows PowerShell、F# |
string.contains(substring) | コブラ、Java (1.5+)、raku、Rust、[16] C++ ( C++23 ) [17] |
string.indexOf(substring) >= 0 | JavaScript |
strpos(string, substring) !== false | PHP |
str_contains(string, substring) | PHP(8以上) |
pos(string, substring) <> 0 | シード7 |
substring in string | Cobra、Python(2.3以上) |
string.find(string, substring) ~= nil | ルア |
string.include?(substring) | ルビー |
Data.List.isInfixOf substring string | Haskell (GHC 6.6+) |
string includesSubstring: substring | Smalltalk ( Squeak、Pharo、Smalltalk/X ) |
String.isSubstring substring string | 標準ML |
(search substring string) | コモンリスプ |
| ISLISP |
(substring? substring string) | クロージュア |
! StringFreeQ[string, substring] | マセマティカ |
index(string, substring, startpos)>0 | Fortran、PL/I [18] |
index(string, substring, occurrence)>0 | 基本を選択 |
strings.Contains(string, substring) | 行く |
string.find(substring) != string::npos | C++ |
[string containsString:substring] | Objective-C ( NSString *iOS 8以降/OS X 10.10以降のみ) |
string.rangeOfString(substring) != nil | スウィフト(財団) |
∨/substring⍷string | APL |
¢ 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 == string2 | Python、C++(STL)、C#、Cobra、Go、JavaScript(類似)、PHP(類似)、Ruby、Rust、[12] Erlang、Haskell、Lua、D、Mathematica、Swift |
string1 === string2 | JavaScript、PHP |
string1 == string2string1 .EQ. string2 | フォートラン |
strcmp(string1, string2) == 0 | C |
(string=? string1 string2) | スキーム |
(string= string1 string2) | コモンリスプ、ISLISP |
string1 = string2 | ALGOL 68、Ada、Object Pascal ( Delphi )、OCaml、Pascal、Rexx、Seed7、Standard ML、BASIC、VB、VB .NET、F#、Smalltalk、PL/I、COBOL |
test string1 = string2[ string1 = string2 ] | ボーンシェル |
string1 eq string2 | Perl、Raku、Tcl |
string1.equals(string2) | コブラ、ジャワ |
string1.Equals(string2) | C# |
string1 -eq string2[string]::Equals(string1, string2) | Windows PowerShell |
[string1 isEqualToString:string2][string1 isEqual:string2] | Objective-C(NSString *のみ) |
string1 ≡ string2 | APL |
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:]) | アルゴル68 | BOOL: TRUE または FALSE、および REF INT pos 内の位置を返します。 |
InStr(«startpos,»string,substring) | VB(位置は1から始まります) | 0を返す |
INSTR$(string,substring) | BASIC(位置は1から始まります) | 0を返す |
index(string,substring) | AWK | 0を返す |
index(string,substring«,startpos») | パール5 | −1を返す |
index(string,substring«,startpos»)string.index(substring,«,startpos») | 楽 | Nilを返します |
instr(«startpos,»string,substring) | フリーベーシック | 0を返す |
strpos(string,substring«,startpos») | PHP | FALSEを返します |
locate(string, substring) | イングレス | 文字列の長さ+1を返す |
strstr(string, substring) | C、C++(のみ、最初の文字へのポインタを返す)char * | NULLを返します |
std.string.indexOf(string, substring) | D | −1を返す |
pos(string, substring«, startpos») | シード7 | 0を返す |
strings.Index(string, substring) | 行く | −1を返す |
pos(substring, string) | Pascal、Object Pascal(Delphi) | 0を返す |
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») | Java、JavaScript | −1を返す |
string.IndexOf(substring«,startpos«, charcount»») | VB .NET、C#、Windows PowerShell、F# | −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 0 | OCaml | Not_found が発生します |
Substring.size (#1 (Substring.position substring (Substring.full string))) | 標準ML | 文字列の長さを返す |
[string rangeOfString:substring].location | Objective-C(NSString *のみ) | NSNotFoundを返します |
string.find(string, substring)(string):find(substring) | ルア | nilを返す |
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlockstring findString: substring startingAt: startpos | Smalltalk ( Squeak、Pharo ) | ブロッククロージャ(または値を理解する任意のオブジェクト)であるaBlockを評価すると 0が返されます。 |
startpos = INDEX(string, substring «,back» «, kind») | フォートラン | 部分文字列が文字列にない場合は 0 を返します。部分文字列が空の場合は LEN(文字列)+1 を返します。 |
POSITION(substring IN string) | SQL | 0を返します(位置は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 startpos | Tcl | −1を返す |
(substring⍷string)⍳1 | APL | 文字列の最後の位置 + 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:]) | アルゴル68 | BOOL : TRUEまたはFALSE、およびREF INT pos内の位置を返します。 |
instr(string, any char«,startpos»)(char には 1 文字以上含めることができ、その場合はそれらのいずれかの最初の出現位置が返されます。) | フリーベーシック | 0を返す |
strchr(string,char) | C、C++(のみ、文字へのポインタを返す)char * | NULLを返します |
std.string.find(string, dchar) | D | −1を返す |
string.find(char«,startpos») | C++ (STL) | std::string::nposを返す |
pos(string, char«, startpos») | シード7 | 0を返す |
strings.IndexRune(string,char) | 行く | −1を返す |
string.indexOf(char«,startpos») | Java、JavaScript | −1を返す |
string.IndexOf(char«,startpos«, charcount»») | VB .NET、C#、Windows PowerShell、F# | −1を返す |
(position char string) | コモンリスプ | NILを返します |
(char-index char string) | ISLISP | nilを返す |
List.elemIndex char string | Haskell ( を返す)Just index | 何も返さない |
String.index string char | OCaml | Not_foundが発生します |
position = SCAN (string, set «, back» «, kind»)position = VERIFY (string, set «, back» «, kind»)[a] | フォートラン | ゼロを返す |
string indexOf: char ifAbsent: aBlockstring indexOf: charstring includes: char | 雑談 | (または値を理解する任意のオブジェクト)を評価するとaBlock、0が返され、またはBlockClosuretruefalse |
index(string, char, startpos ) | PL/I [20] | 0を返します(位置は1から始まります) |
string.index(?char) | ルビー | nilを返す |
strpos(string,char,startpos) | PHP | falseを返します |
string.indexOf(char«,startpos«, charcount»») | コブラ | −1を返す |
string⍳char | APL | 文字列の最後の位置 + 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) | Perl、PHP、Raku、Ruby | C |
item.fmt(formatstring) | 楽 | C |
io_lib:format(formatstring, items) | アーラン | |
sprintf(outputstring, formatstring, items) | C | C |
std::format(formatstring, items) | C++ ( C++20 ) | パイソン |
std.string.format(formatstring, items) | D | C |
Format(formatstring, items) | オブジェクトパスカル(デルファイ) | |
fmt.Sprintf(formatstring, items) | 行く | C |
printf formatstring items | Unix | C |
formatstring % (items) | Python、Ruby | C |
formatstring.format(items) | パイソン | 。ネット |
fformatstring | Python 3 | |
Printf.sprintf formatstring[23] items | OCaml、F# | C |
Text.Printf.printf formatstring items | ハスケル(GHC) | C |
formatstring printf: items | 雑談 | C |
String.format(formatstring, items) | ジャワ | C |
String.Format(formatstring, items) | VB .NET、C#、F# | 。ネット |
(format formatstring items) | スキーム(SRFI 28) | Lisp |
(format nil formatstring items) | コモンリスプ | Lisp |
(format formatstring items) | クロージュア | Lisp |
formatstring -f items | Windows PowerShell | 。ネット |
[NSString stringWithFormat:formatstring, items] | Objective-C(NSString *のみ) | 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/I | PL/I(Fortranに類似) |
String.format(formatstring, items) | コブラ | 。ネット |
format formatstring items | Tcl | C |
formatnumbers ⍕ itemsformatstring ⎕FMT items | APL | APL |
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 string2string1 NE string2 | ALGOL 68 – 注: 演算子「ne 」は文字通り太字フォントで表示されます。 |
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 (非推奨) |
string1 # string2 | BASIC(一部の実装) |
string1 ne string2 | Perl、楽 |
(string<> string1 string2) | スキーム(SRFI 13) |
(string/= string1 string2) | コモンリスプ |
(string/= string1 string2) | ISLISP |
(not= string1 string2) | クロージュア |
string1 != string2 | C++ (STL)、C#、Go、JavaScript(類似しない)、PHP(類似しない)、Python、Ruby、Rust、[12] Swift、D、Mathematica |
string1 !== string2 | JavaScript、PHP |
string1 \= string2 | レックス |
string1 ¬= string2 | PL/I |
test string1 != string2[ string1 != string2 ] | ボーンシェル |
string1 -ne string2 | Windows PowerShell |
string1 ~= string2 | Lua、Smalltalk |
string1 ≢ string2 | APL |
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) | Perl、PHP、楽楽 |
implode(separator, array_of_strings) | PHP |
separator.join(sequence_of_strings) | Python、Swift 1.x |
array_of_strings.join(separator) | Ruby、JavaScript、Raku、Rust [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_strings | OCaml |
String.concatWith separator list_of_strings | 標準ML |
Data.List.intercalate separator list_of_strings | Haskell (GHC 6.8+) |
Join(array_of_strings, separator) | VB |
String.Join(separator, array_of_strings) | VB .NET、C#、F# |
String.join(separator, array_of_strings) | Java 8以降 |
&{$OFS=$separator; "$array_of_strings"}array_of_strings -join separator | Windows PowerShell |
[array_of_strings componentsJoinedByString:separator] | Objective-C(NSString *のみ) |
table.concat(table_of_strings, separator) | ルア |
collectionOfAnything joinUsing: separator | Smalltalk ( Squeak、Pharo ) |
array_of_strings.join(separator«, final_separator») | コブラ |
sequence_of_strings.joinWithSeparator(separator) | スウィフト2.x |
1↓∊separator,¨list_of_strings | APL |
// 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 -8、UTF-16、Shift-JISなどの可変長エンコーディングの場合、無効な文字列を避けるために、末尾の文字列位置を削除する必要があることに注意してください。 |
| 形式 | 言語 |
|---|---|
| エイダ |
substr(string, 0, n) | AWK(文字列の変更)、Perl、PHP、Raku |
LEFT$(string,n) | ベーシック、VB |
left(string,n) | VB、FreeBASIC、Ingres、Pick Basic |
strncpy(string2, string, n) | C標準ライブラリ |
string.substr(0,n) | C++ (STL)、楽 |
[string substringToIndex:n] | Objective-C(NSString *のみ) |
| クロージュア |
string[0 .. n] | D [26] |
string:substr(string, start, length) | アーラン |
(subseq string 0 n) | コモンリスプ |
string[:n] | コブラ、Go、Python |
left(string,n «,padchar») | レックス、アーラン |
string[0, n]string[0..n - 1] | ルビー |
string[1, n] | 基本を選択 |
string[ .. n] | シード7 |
string.Substring(0,n) | VB .NET、C#、Windows PowerShell、F# |
leftstr(string, n) | Pascal、Object Pascal(Delphi) |
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 n | OCaml [28] |
string.[..n] | F# |
string.sub(string, 1, n)(string):sub(1, n) | ルア |
string first: n | Smalltalk ( Squeak、Pharo ) |
string(:n) | フォートラン |
StringTake[string, n] | マセマティカ[29] |
string («FUNCTION» LENGTH(string) - n:n) | コボル |
string.substring(0, n) | コブラ |
n↑string. | 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) | | Ingres、Perl 5、Pascal、Object Pascal(Delphi)、Rexx、Seed7、SQL、PL/I |
len(string) | | BASIC、FreeBASIC、Python、Go、Pick Basic |
length(string), string:len(string) | | アーラン |
Len(string) | | VB、ピックベーシック |
string.Length | UTF-16 コード単位の数 | VB .NET、C#、Windows PowerShell、F# |
chars(string)string.chars | 書記素の数(NFG) | 楽 |
codes(string)string.codes | Unicodeコードポイントの数 | 楽 |
string.size OR string.length | バイト数[31] | ルビー |
strlen(string) | バイト数 | C、PHP |
string.length() | | C++ (STL) |
string.length | | コブラ、D、JavaScript |
string.length() | UTF-16 コード単位の数 | ジャワ |
(string-length string) | | スキーム |
(length string) | | コモンリスプ、ISLISP |
(count string) | | クロージュア |
String.length string | | OCaml |
size string | | 標準ML |
length string | Unicodeコードポイントの数 | ハスケル |
string.length | UTF-16コード単位の数 | Objective-C(NSString *のみ) |
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)または
| それぞれ文字数とバイト数 | コボル |
string length string | 文字数を示す10進文字列 | Tcl |
≢ string | APL | |
string.len() | バイト数 | 錆[32] |
string.chars().count() | Unicodeコードポイントの数 | 錆[33] |
// C# の例"hello" . Length ; // 5 を返す"" . Length ; // 0 を返す # Erlangの例string : 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 string | OCaml |
String.map Char.toLower string | 標準ML |
map Char.toLower string | ハスケル |
string.toLowerCase() | Java、JavaScript |
to_lower(string) | アーラン |
string.ToLower() | VB .NET、C#、Windows PowerShell、F# |
string.lowercaseString | Objective-C(NSString *のみ)、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 string | Tcl |
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) | Python、Ruby(1.9以上) | |
lists:partition(pred, string) | アーラン | |
split /(separator)/, string, 2 | パール5 | |
split separator, string, 2string.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) | Cobra、Java(1.5+)、Python、Rust [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 string | OCaml |
[string stringByReplacingOccurrencesOfString:find withString:replace] | Objective-C(NSString *のみ) |
string.stringByReplacingOccurrencesOfString(find, withString:replace) | スウィフト(財団) |
string.gsub(string, find, replace)(string):gsub(find, replace) | ルア |
string copyReplaceAll: find with: replace | Smalltalk ( Squeak、Pharo ) |
string map {find replace} string | Tcl |
StringReplace[string, find -> replace] | マセマティカ |
strings.Replace(string, find, replace, -1) | 行く |
INSPECT string REPLACING ALL/LEADING/FIRST find BY replace | コボル |
find_regex ⎕R replace_regex ⊢ string | APL |
// 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 string | Perl 5、Haskell |
flip stringstring.flip | 楽 |
lists:reverse(string) | アーラン |
strrev(string) | PHP |
string[::-1] | パイソン |
(string-reverse string) | スキーム(SRFI 13) |
(reverse string) | コモンリスプ |
string.reverse | Ruby、D(文字列を変更する) |
new StringBuilder(string).reverse().toString() | ジャワ |
std::reverse(string.begin(), string.end()); | C++ (std::stringのみ、文字列を変更) |
StrReverse(string) | VB |
string.Reverse() | VB .NET、C# |
implode (rev (explode string)) | 標準ML |
string | JavaScript |
string.reverse(string)(string):reverse() | ルア |
string reverse | 雑談 |
StringReverse[string] | マセマティカ |
reverse(string) | PL/I |
| コボル |
string.toCharArray.toList.reversed.join() | コブラ |
String(string.characters.reverse()) | スウィフト(2.x) |
String(reverse(string)) | スウィフト(1.2) |
string reverse string | Tcl |
⌽string | APL |
string | 錆[42] |
echo string | rev | Unix |
「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(«startpos,» string,substring) | VB | 0を返す |
instrrev(«startpos,» string,substring) | フリーベーシック | 0を返す |
rindex(string,substring«,startpos») | パール5 | −1を返す |
rindex(string,substring«,startpos»)string.rindex(substring«,startpos») | 楽 | Nilを返します |
strrpos(string,substring«,startpos») | PHP | FALSEを返します |
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») | シード7 | 0を返す |
string.rindex(substring«,startpos») | ルビー | nilを返す |
strings.LastIndex(string, substring) | 行く | −1を返す |
string.lastIndexOf(substring«,startpos») | Java、JavaScript | −1を返す |
string.LastIndexOf(substring«,startpos«, charcount»») | VB .NET、C#、Windows PowerShell、F# | −1を返す |
(search substring string :from-end t) | コモンリスプ | NILを返します |
[string rangeOfString:substring options:NSBackwardsSearch].location | Objective-C(NSString *のみ) | NSNotFoundを返します |
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1) | OCaml | Not_foundが発生します |
string.match(string, '.*()'..substring)string | ルア | 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 startpos | Tcl | −1を返す |
| APL | −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が文字列の長さより大きい場合、ほとんどの実装では文字列全体を返します(例外もあります。コード例を参照してください)。 |
| 形式 | 言語 |
|---|---|
| エイダ |
Right(string,n) | VB |
RIGHT$(string,n) | ベーシック |
right(string,n) | FreeBASIC、Ingres、Pick 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) | Perl5、PHP |
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) n | OCaml [28] |
string.sub(string, -n)(string):sub(-n) | ルア |
string last: n | Smalltalk ( Squeak、Pharo ) |
StringTake[string, -n] | マセマティカ[29] |
string (1:n) | コボル |
¯n↑string. | 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) | Python、Ruby |
# 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») | JavaScript、Java、Ruby |
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 .NET、C#、F# |
string -split separator«, limit«, options»» | Windows PowerShell |
Str.split (Str.regexp_string separator) string | OCaml |
std.string.split(string, separator) | D |
[string componentsSeparatedByString:separator] | Objective-C(NSString *のみ) |
string.componentsSeparatedByString(separator) | スウィフト(財団) |
TStringList.Delimiter, TStringList.DelimitedText | オブジェクトパスカル |
StringSplit[string, separator«, limit»] | マセマティカ |
string.split«(sepchars«, limit«, options»»)» | コブラ |
split string separator | Tcl |
(separator≠string)⊂stringDyalog APL 16.0のAPL2separator(≠⊆⊢)string | APL |
string.split(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 -8、UTF-16、Shift-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 .NET、C#、Windows PowerShell、F# |
string.substring(startpos«, endpos») | Java、JavaScript |
copy(string, startpos, numChars) | オブジェクトパスカル(デルファイ) |
(substring string startpos endpos) | スキーム |
(subseq string startpos endpos) | コモンリスプ |
(subseq string startpos endpos) | ISLISP |
String.sub string startpos numChars | OCaml |
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-C(NSString *のみ) |
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 endpos | Tcl |
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文字を操作) |
| 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 variablesPARSE UPPER VAR SrcVar DstVar | レックス |
string.upper() | パイソン |
upcase(string) | 基本を選択 |
string.upcase | ルビー[37] |
strings.ToUpper(string) | 行く |
(string-upcase string) | Scheme、Common Lisp |
String.uppercase string | OCaml |
String.map Char.toUpper string | 標準ML |
map Char.toUpper string | ハスケル |
string.toUpperCase() | Java、JavaScript |
string.uppercase() | コトリン[53] |
to_upper(string) | アーラン |
string.ToUpper() | VB .NET、C#、Windows PowerShell、F# |
string.uppercaseString | Objective-C(NSString *のみ)、Swift(Foundation) |
string.upper(string)(string):upper() | ルア |
string asUppercase | 雑談 |
UPPER(string) | SQL |
ToUpperCase[string] | マセマティカ |
| コボル |
string.toUpper | コブラ |
string toupper string | Tcl |
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.NET、Windows PowerShell |
string.strip(); | D |
(.trim string) | クロージュア |
sequence [ predicate? ] trim | 要素 |
| コモンリスプ |
(string-trim string) | スキーム |
string.trim() | Java、JavaScript(1.8.1以上、Firefox 3.5以上)、Rust [55] |
Trim(String) | パスカル、[56] QBasic、Visual Basic、Delphi |
string.strip() | パイソン |
strings.Trim(string, chars) | 行く |
LTRIM(RTRIM(String)) | Oracle SQL、T-SQL |
strip(string [,option, char]) | レックス |
string:strip(string [,option, char]) | アーラン |
string.stripstring.lstripstring.rstrip | ルビー |
string.trim | 楽 |
trim(string) | PHP、楽 |
[string | Cocoaを使用したObjective-C |
string withBlanksTrimmedstring withoutSpacesstring withoutSeparators | Smalltalk ( Squeak、Pharo ) Smalltalk |
strip(string) | SAS |
string trim $string | Tcl |
TRIM(string)TRIM(ADJUSTL(string)) | フォートラン |
TRIM(string) | SQL |
TRIM(string)LTrim(string)RTrim(String) | コールドフュージョン |
String.trim string | OCaml 4以上 |
その他の言語
組み込みのトリム関数がない言語では、通常、同じタスクを実行するカスタム関数を作成するのは簡単です。
APL
APL では正規表現を直接使用できます。
トリム← '^ +| +$' ⎕R ''あるいは、先頭と末尾のスペースを除去するブールマスクを組み合わせた機能的なアプローチもあります。
トリム← { ⍵ /⍨ ( ∨ \ ∧ ∘ ⌽∨ \∘ ⌽ ) ' ' ≠ ⍵ }または、逆に先頭のスペースを 2 回削除します。
トリム← { ( ∨ \ ' ' ≠ ⍵ ) / ⍵ } ∘ ⌽ ⍣ 2AWK
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
トリム=. #~ [: ( +./\ *. +./\. ) ' ' &~: つまり、先頭のスペース ( ) と末尾のスペース ( ) の間にあるスペース#~以外の文字 ( ) をフィルター ( )します。' '&~:+./\*.+./\.
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 ではCPANのStripLTSpaceも利用可能です。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()関数を利用することです。
参考文献
- ^ abcde インデックスは負の値になる場合があり、その場合は文字列の末尾の前の数を示します。
- ^ Rust では、str::chars メソッドはコード ポイントを反復処理し、反復子の std::iter::Iterator::nth メソッドは反復子からゼロ インデックスの n 番目の値、つまり を返します
None。 - ^ インデックスは負の値にできません。*-N を使用してください。ここで、N は文字列の末尾の前の位置の数を示します。
- ^ C++ では、文字列のオーバーロードされた operator<=> メソッドは、std::strong_ordering オブジェクト (それ以外の場合は
std::weak_ordering) を返します:less、equal( と同じequivalent)、またはgreater。 - ^は LESS、EQUAL、またはGREATERを返します
- ^は LT、EQ、またはGTを返します
- ^ はまたはを返します。これらの関数は ASCII 照合シーケンスに基づいています。
.TRUE..FALSE. - ^ ab IBM 拡張子。
- ^ Rust では、文字列の Ord::cmp メソッドは Ordering:
Less、Equal、またはを返しますGreater。 - ^ オリジナルの REXX では論理否定に ¬ を使用していましたが、ANSI Rexx では \ を使用し、一部の実装では ~ または ^ を受け入れ、EBCDIC 以外の実装では ¬ がコード ポイント AA にあるか AC にあるかが異なります。
- ^ オリジナルの PL/I では論理否定に ¬ を使用していましたが、実装によっては ^ が想定されており、EBCDIC 以外の実装では ¬ がコード ポイント AA にあるか AC にあるかが異なります。
- ^ abcdef Rust では、演算子==と!=およびメソッド、は PartialEq トレイトによって実装され、演算子<、>、<=、>=およびメソッド、、はPartialOrd トレイトによって実装されます。
eqneltgtlege - ^ 演算子はコンパイラのデフォルトの照合シーケンスを使用します。
- ^ は を変更します。結果を格納するのに十分なスペースが必要です。
string1 - ^ Rust では、
+演算子は Add 特性によって実装されます。 - ^ str::contains メソッドを参照してください。
- ^ std::basic_string::contains メソッドを参照してください。
- ^ ab startposは IBM 拡張です。
- ^ ab str::find メソッドを参照してください。
- ^
startposは IBM 拡張子です。 - ^ 「Fortran Wikiのscan」Fortranwiki.org. 2009年4月30日. 2013年8月18日閲覧。
- ^ "verify in Fortran Wiki". Fortranwiki.org. 2012年5月3日. 2013年8月18日閲覧。
- ^ は、
formatstring正しい型を持つためには、コンパイル時に固定リテラルである必要があります。 - ^ Rust プレリュードによってインポートされ、 という名前で使用できるようになる std::format を参照してください
format。 - ^ slice::join メソッドを参照してください。
- ^ n が文字列の長さより大きい場合、デバッグ モードでは ArrayRangeException がスローされ、リリース モードでは動作は未指定になります。
- ^ nが文字列の長さより大きい場合、JavaはIndexOutOfBoundsExceptionをスローします。
- ^ ab nが文字列の長さより大きい場合はInvalid_argumentが発生します
- ^ ab n が文字列の長さより大きい場合は、メッセージ "StringTake::take:" をスローします。
- ^ abc Rustでは、文字列はバイトオフセットでインデックス付けされます。インデックスが範囲外の場合、または無効なUTF-8となる場合は、実行時パニックが発生します。文字列参照は、Range( )、RangeFrom( )、RangeTo( )
&strなど、様々な型の範囲でインデックス付けできます。これらはすべて、インデックス付け対象の型を引数とするSliceIndex特性を実装しているためです。str::getメソッドは、パニックを起こさずにインデックス付けを行う方法です。インデックス付けがパニックになるような場合には、このメソッドは戻り値を返します。0..nn....nstrNone - ^ RubyはUnicodeをサポートしていない
- ^ str::len メソッドを参照してください。
- ^ Rust では、str::chars メソッドはコード ポイントを反復処理し、反復子の std::iter::Iterator::count メソッドは反復子を消費し、反復子内の要素の合計数を返します。
- ^ は1文字を操作します
- ^ ab 関数は名前空間
transformに存在しますstd::。<algorithm>使用するにはヘッダーファイルをインクルードする必要があります。関数tolowerとtoupper関数は、ヘッダーファイルによって取得されるグローバル名前空間にあります<ctype.h>。関数std::tolowerと関数名はオーバーロードされており、関数オーバーロードの曖昧さを解決するためのキャストなしでstd::toupperは渡すことができません。例:std::transformstd::transform(string.begin(), string.end(), result.begin(), (int (*)(int))std::tolower); - ^
std::stringのみ、結果はresult少なくとも と同じ長さの文字列に格納されstring、それstring自体である場合もそうでない場合もあります。 - ^ ab RubyはUnicodeをサポートしていないため、ASCII文字のみ
- ^ str::to_lowercase メソッドを参照してください。
- ^ str::replace メソッドを参照してください。
- ^ abcde この構文内の「find」文字列は正規表現として解釈されます。正規表現では、特定の文字が特別な意味を持ちます。文字列を文字通り検索したい場合は、特殊文字を引用符で囲む必要があります。
- ^ 3番目のパラメータは非標準です
- ^ Rust では、str::chars メソッドはコード ポイントを反復処理し、可逆反復子 (std::iter::DoubleEndedIterator) の std::iter::Iterator::rev メソッドは反転反復子を作成し、std::iter::Iterator::collect メソッドは反復子を使用して反復子の要素からコレクション (ここでは turbofish 構文の文字列として指定されます) を作成します。
- ^ str::rfind メソッドを参照してください。
- ^ “Annotated ES5”. Es5.github.com. 2013年1月28日時点のオリジナルよりアーカイブ。2013年8月18日閲覧。
- ^ nが文字列の長さより大きい場合、デバッグモードではArrayRangeExceptionがスローされ、リリースモードでは未指定の動作が発生します。
- ^ str::split および str::rsplit メソッドを参照してください。
- ^ abcdefg は
startpos負の値にすることができ、文字列の末尾からその数だけ前の位置から開始することを示します。 - ^ ab は
numChars負の値にすることができ、文字列の末尾からその数だけ前で終了することを示します。 - ^ は負の値に
startposできません。文字列の末尾からその数だけ前の位置で開始することを示すには、 * - startposを使用します。 - ^ は負の値に
numCharsできません。文字列の末尾からその数だけ前で終了することを示すには、 * - numCharsを使用します。 - ^ abcde は
endpos負の値にすることができ、文字列の末尾からその数だけ前で終了することを示します。 - ^
std::stringのみ、結果は少なくともstringと同じ長さの文字列resultに格納され、文字列自体である場合もそうでない場合もあります。 - ^ 「uppercase - Kotlinプログラミング言語」Kotlin . 2024年11月9日閲覧。
- ^ Rust では、str::to_uppercase メソッドは、Unicode の規則に従って小文字を大文字に変更した、新しく割り当てられた文字列を返します。
- ^ Rust では、str::trim メソッドは元の への参照を返します
&str。 - ^ “トリム – GNU Pascal priručnik”. Gnu-pascal.de 。2013 年 8 月 24 日に取得。
- ^ 「文字列ライブラリの比較」And.org . 2013年8月24日閲覧。
- ^ 「Usage – 1.54.0」. Boost.org. 2013年5月22日. 2013年8月24日閲覧。
- ^ [1] 2009年8月2日アーカイブ、Wayback Machine
- ^ dankamongmen. "sprezzos-kernel-packaging/changelog at master · dankamongmen/sprezzos-kernel-packaging · GitHub". Github.com . 2016年5月29日閲覧。