string - 文字列を処理します。
string option arg ?arg ...?
option に応じていくつかの文字列操作の内の1つを行います。使用できるoption
(省略可)は下記のとおりです。
- string bytelength string
- string compare ?-nocase? ?-length int? string1
string2
- string equal ?-nocase? ?-length int? string1
string2
- string first string1 string2 ?startIndex?
- string index string charIndex
- integer
- end
- end-integer
- string is class ?-strict? ?-failindex
varname? string
- alnum
- alpha
- ascii
- boolean
- control
- digit
- double
- false
- graph
- integer
- lower
- print
- punct
- space
- true
- upper
- wordchar
- xdigit
- string last string1 string2 ?lastIndex?
- string length string
- string map ?-nocase? charMap string
- string match ?-nocase? pattern string
- *
- ?
- [chars]
- \x
- string range string first last
- string repeat string count
- string replace string first last ?newstring?
- string tolower string ?first? ?last?
- string totitle string ?first? ?last?
- string toupper string ?first? ?last?
- string trim string ?chars?
- string trimleft string ?chars?
- string trimright string ?chars?
- string wordend string charIndex
- string wordstart string charIndex
- string bytelength string
- メモリにおいてstring を表すもののバイト数を10進文字列で返します。Unicode
文字を表すためにUTF-8が1から3バイトまでを使うので、バイトの長さは一般的に文字の長さと同じではありません。
スクリプトがバイト長さのことを気にする場合は滅多にありません。ほとんど全ての場合には、string
lengthオペレーション(Tcl ByteArrayオブジェクトの長さを判断定することを含む)を使うべきです。
UTF-8表現に関するより詳しい情報はTcl_NumUtfCharsマニュアルのエントリーを参照してください。
- string compare ?-nocase ? ?-length int?
string1 string2
- 文字列string1 とstring2 の文字ごとの比較を行います。 string1
が辞書順でstring2 より小さいか、等しいか、より大きいかに応じて-1、0、あるいは1を返します。
-lengthが指定されると、最初のlength 個文字のみが比較に使われます。-lengthが負なら無視されます。-nocaseが指定されると、文字列は大文字か小文字かを区別しないで比較されます。
- string equal ?-nocase ? ?-length int?string1
string2
- 文字列string1 とstring2 の文字ごとの比較を行います。 string1
がstring2 と同じ場合は1を返し、そうでないと0を返します。 -lengthが指定されると、最初のlength
個文字のみが比較に使われます。-lengthが負であると無視されます。-nocaseが指定されると、文字列は大文字か小文字かを区別
しないで比較されます。
- string firststring1 string2 ?startIndex ?
- string2 からstring1 内の文字に正確にマッチする文字のシーケンスを検索します。見つかるとstring2
内で最初にマッチした部分の最初文字のインデックスを返します。
見つからなければ、-1を返します。startIndex が指定される ( index
によって受け入れられるフォーマットのうちのどれでも )
と、この検索は、string2 のインデックスによって指定された文字から始めます。例えば
string first a 0a23456789abcdef 5
は10を返しますが、一方
string first a 0123456789abcdef 11
は-1を返します。
- string index string charIndex
- string 引数のcharIndex 番目の文字を返します。 charIndex の0は文字列の最初の文字に相当します。
charIndex が次のとおりに指定されます。
- integer
- この整数インデックスによって指定された文字。
- end
- 文字列の最後の文字。
- end-integer
- 文字列の最後の文字から指定された整数を引く( 例えば、end‐1が”abcd”において"c"を参照する)位置の文字。
charIndex が0より小さいか文字列の長さより大きい場合、空文字列が返されます。
- string class ?-strict? ?-failindex
varname? string
- string が指定された文字クラスの正当なメンバーならば1を返し、そうでないと0を返します。-strictが指定されると
空の文字列は0を返します。-strictがないと空の文字列はあらゆるクラスで1を返します。-failindexが指定されると関数が0を返す場合は、クラスが有効でない文字列におけるインデックスをvarname
で指定された変数に格納されます。関数が1を返す場合はvarname
は設定されません。次の文字クラスは認められます(クラス名が短縮できる)。
- alnum
- あらゆるUnicodeアルファベットか数字または文字。
- alpha
- あらゆるUnicodeアルファベット文字。
- ascii
- \u0080 ( 7ビットascii範囲にある)未満の値を持つあらゆる文字。
- boolean
- Tcl_GetBooleanに許されるあらゆるフォーマット。
- control
- あらゆるUnicodeコントロール文字。
- digit
- あらゆるUnicode数字文字。注意すべきなのはこれが[ 0-9 ]範囲以外の文字も含むことです。
- double
- 周りのスペースが省略可能なTclのdoubleタイプのいかなる正当なフォーマット。値がアンダー/オーバフローの場合には、0が返され、varname
には-1が入ります。
- false
- その値が偽であるTcl_GetBooleanに許されるあらゆるフォーマット。
- graph
- スペースを除くあらゆるUnicodeのプリントできる文字。
- integer
- 周りのスペースが省略可能なTclのintタイプのいかなる正当なフォーマット。値がアンダー/オーバフローの場合には、0が返され、varname
には-1が入ります。
- lower
- あらゆるUnicode小文字のアルファベット文字。
- print
- スペースを含むあらゆるUnicodeのプリントできる文字。
- punct
- あらゆるUnicode句読点文字。
- space
- あらゆるUnicodeスペース文字。
- true
- その値が真であるTcl_GetBooleanに許されるあらゆるフォーマット。
- upper
- Unicode文字セットのあらゆる大文字のアルファベット文字。
- wordchar
- あらゆるUnicodeワード文字。それはあらゆる文字と数字文字、あらゆるUnicodeコネクタ句読点文字(例えば、下線アンダースコア
です。)。
- xdigit
- あらゆる16進数の数字文字([ 0-9A-Fa-f ])。
boolean、trueそしてfalse の場合に正当なブール値の多様な性質のため、
もし関数が0を返すと、varnameは常に0に設定されます 。
- string last string1 string2 ?lastIndex ?
- string2 からstring1
内の文字に正確に一致する文字のシーケンスを検索します。見つかるとstring2
内で最後に一致した部分の最初文字のインデックスを返します。適合するものがないと-1を返します。lastIndex
が指定される ( index に受け入れられるフォーマットのうちのどれでも
) と、string2 のlastIndex に指定された文字とその先頭に位
置する文字のみがこの検索で処理されます。 例えば
string last a 0a23456789abcdef 15
は10を返します。しかし、
string last a 0a23456789abcdef 9
は1を返します。
- string length string
- string 内の文字の数を示す10進数文字列を返します。
これは必ずしも文字列を格納したバイトの数と同じであるとは限らないことにご注意しましょう。
オブジェクトがByteArrayなオブジェクト(例え、バイナリコード化されたチャネルを読むことから返されたもの)
であると、オブジェクトの実際のバイト長さを返します。
- string map ?-nocase?charMap string
- string の文字を、charMapに含まれる"キー - 値"ペアに基づいて置き換えします。charMap
はarray get から返されたフォーマットと同じ、key
value key vlaue のリストです。文字列のキーの各インスタンスは、対応する値に置き換えられます。-nocaseが指定されると、マッチングは小文字と大文字を区別せず行われます。key
とvalue の両方とも多重文字であることができます。置き換えは順番で行われます。従って、最初にリストに現れるキーは先にチェックされます。string
は1度だけ繰り返されるので、初期のキー置き換えは後ほどのキーマッチに影響を及ぼしません。例えば
string map {abc 1 ab 2 a 3 1 0} 1abcaababcabababc
は文字列01321221を返します。
- string match ?-nocase? pattern
string
- pattern がstring にマッチするかどうかを確かめます。
マッチするならば1 を、 しないならば0を返します。-nocaseが指定されると、パターンは小文字大文字問わずに文字列にマッチしようと試みます。
2つの文字列の照合ではpattern
に次の使える特別なシーケンスを除いて、マッチ内容は同一でなければなりません。
- *
- 空文字列を含むstring 内のあらゆる文字シーケンスにマッチします。
- ?
- string 内のあらゆる単独の文字にマッチします。
- [chars]
- char に与えられたセット内のどれかの文字にマッチします。x-y
形式のシーケンスがchars 内に現れると、x とy も含まれるx
とy の間のいずれかの文字にマッチします。-nocaseと共に使われるとき、範囲のエンドポイントは最初に小文字に変換されます。
小文字と大文字が区別するとき、{ [ A-z ] }は'_'に('_'は'Z'と'a'の間にあるので)マッチします。一方、-nocaseを持つと、これは{
[ A-Za-z ] }に見なされます。
- \ x
- 単一の文字xにマッチします。これはpattern内の文字 *?[]\の特別な解釈を防止する方法を提供します。
- string range string first last
- string からfirst のインデックスの文字で始まり、last のインデックスの文字で終わる連続した文字の範囲を返します。
インデックスの0は、文字列の最初の文字を参照します。first とlast
はindex フォーマットで指定することができます。 first が0より小さい場合、0として扱われます。last
が文字列の長さに等しいか、より大きいと、endとして扱われます。
first がlast より大きいと空文字列が返されます。
- string repeat string count
- count 回繰り返してstring を返します。
- string replace string first
last ?newstring ?
- string からfirst のインデックスの文字で始まり、last のインデックスの文字で終わる連続した文字の範囲を削除します。
インデックスの0は、文字列の最初の文字を参照します。first とlast
はindex フォーマットで指定することができます。newstring
が指定されると、削除される文字範囲に置かれます。 first が0より小さいと。0として扱われます。last
が文字列の長さに等しいか、より大きいと、endとして扱われます。first
がlast か始めの文字列の長さより大きいと、またはlast が0未満なら、一番目の文字列は触れられずに返されます。
- string tolower string ?first ? ?last
?
- すべての大文字(またはタイトル)が小文字に変換されることを除いて、string
と等しい値を返します。first が指定されると文字列の修正を始める最初の文字インデックスを参照します。last
が指定されると文字列修正が終わる文字インデックスを参照します。first
とlast はindexフォーマットで指定することができます。
- string totitle string ?first
? ?last ?
- string の最初の文字がそのUnicodeタイトルケースに変形((または、タイトルケース変形がない場合大文字)され、かつ文字列の残り部分が小文字に変換されることを除いて、string
と等しい値を返します。first が指定されると文字列の修正を始める最初の文字インデックスを参照します。last
が指定されると文字列修正を止まる最後の文字インデックスを参照します。first
とlast はindexフォーマットで指定することができます。
- string toupper string ?first
? ?last ?
- すべての小文字またはタイトル)が大文字に変換されることを除いてstring
と等しい値を返します。first が指定されると文字列の修正を始める最初の文字インデックスを参照します。last が指定されると文字列修正を止まる文字インデックスを参照します。first
とlast はindexフォーマットで指定することができます。
- string trim string ?chars ?
- 先頭と末尾にあるcharsで与えられたセット内の文字が削除されることを除いてstring
と等しい値を返します。 chars が指定されないと、空白(スペース、タブ、改行、そして
キャリッジリターン)が削除されます。
- string trimleft string ?chars
?
- 先頭にあるcharsで与えられたセット内の文字が削除されることを除いてstring
と等しい値を返します。 chars が指定されないと、空白(スペース、タブ、改行、そして
キャリッジリターン)が削除されます。
- string trimright string ?chars
?
- 末尾にあるcharsで与えられたセット内の文字が削除されることを除いてstring
と等しい値を返します。 chars が指定されないと、空白(スペース、タブ、改行、そして
キャリッジリターン)が削除されます。
- string wordend string charIndex
- string の文字charIndex
を含む単語の最後の文字の直後文字のインデックスを返します。charIndex
はindex フォーマットで指定することができます。
単語は英数字(Unicodeの英文字または数字)とアンダースコア(Unicodeのコネクタ句読点)が連続する範囲を指します。
あるいは、これら以外の単独の文字を指します。
- string wordstart string charIndex
- string の文字charIndex
を含む単語の最初の文字のインデックスを返します。charIndex
はindexフォーマットで指定することができます。
単語は英数字(Unicodeの英文字または数字)とアンダースコア (Unicodeのコネクタ句読点)が連続する範囲を指します。あるいは、これら以外の単独の文字を指します。
expr, list
case conversion, compare, index,
match, pattern,
string, word, equal, ctype
Copyright © 1993 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.
|