<<< 前へ TOP 次へ>>>
文字列操作
ver 3より、大文字・小文字を区別しない手続き・判定式に関して、いわゆる全角のAaを区別しないようになりました。従来通りの動作を行いたい場合は、UpperStrかLowerStrで半角のA-Zだけを変換した上で、Str系の手続き・判別式を使用して下さい。
但し、どのように比較するかをパラメータとして指定できる物は、従来通りの動作になっています。
文字列の比較のタイプを選ぶ時に設定する数字が必要な場合は、以下のパラメータを参照して下さい。
A-Z,A-Z,あ,ア,アの大小
数字 | 大小関係
|
---|
0 | A < B < a < b < A < B < a < b < あ < ア < ア
|
1 | a < a < A < A < b < b < B < B < ア < ア < あ
|
大文字・小文字の同一視
数字 | モード
|
---|
0 | a = A, a = A
|
1 | a = A, a != A
|
2 | a != A, a != A
|
システム変数
- name
-
説明文
システム変数配列
- name
-
説明文
システム文字列
- $_CR
- CR(13)です。
- $_CRLF
- CR(13)+LF(10)です。
- $_LF
- LF(10)です。
- $_TAB
- TAB(9)です。
システム文字列配列
- name
-
説明文
システム手続き
- AddLine(ユーザー文字列,文字列)
- ユーザー文字列の最後に文字列を追加します。
文字列同士の足算との違いは、間に改行(CR/LF)が入ることです。
- AddStr(ユーザー文字列,文字列1[,文字列2...])
- 文字列1+文字列2+... をユーザー文字列に代入します。
ユーザー文字列=文字列1+文字列2+...と同等です。
- AnsiLowerStr(ユーザー文字列,文字列)
- 全ての大文字を小文字に変換して、ユーザー文字列に返します。
ASCIIのA-Zだけを変換したい場合はLowerStrを使用して下さい。
- AnsiUpperStr(ユーザー文字列,文字列)
- 全ての小文字を大文字に変換して、ユーザー文字列に返します。
ASCIIのa-zだけを変換したい場合はUpperStrを使用して下さい。
- CharType(ユーザー変数,文字列,数字)
- 文字列の数字番目の文字がどのような種類かを返却します。
ユーザー変数 | 意味
|
---|
-1 | エラー
|
0 | single char
|
1 | サロゲートペアの1文字目
|
2 | サロゲートペアの2文字目
|
- CompareStrNum(ユーザー変数,文字列1,文字列2,数字1,数字2)
- 文字列1と文字列2を比較します。この際、数字を考慮して比較します。
数字1に0以外を指定するとAnsiモードで、0だと通常の文字列扱いになります。
数字2に0以外を指定すると大文字・小文字を区別します。0を指定すると区別しません。
左 > 右の場合ユーザー変数に負の値が戻ります。同じ場合は0が、左 < 右なら正の値が戻ります。
例)
'A2' < 'A10'
'A01' < 'A0001'
- CopyStr(ユーザー文字列,文字列,数字1,数字2)
- 文字列の数字1番目から数字2文字分、ユーザー文字列に代入します。
!!!注意!!!この手続きはサロゲートペアを考慮しません。サロゲートペアを考慮してコピーしたい場合はLengthStrWやCopyStrWを使用して下さい。
- CopyStrW(ユーザー文字列,文字列,数字1,数字2)
- 文字列の数字1番目から数字2文字分、ユーザー文字列に代入します。
CopyStrと違い、サロゲートペアを1文字として扱います。
- DeleteStr(ユーザー文字列,数字1,数字2)
- ユーザー文字列を、数字1番目から数字2文字分削除します。
サロゲートペアは2文字としてカウントします。サロゲートペアを1文字として扱うにはDeleteStrWを使用して下さい。
- DeleteStrW(ユーザー文字列,数字1,数字2)
- サロゲートペアを1文字としてカウントするDeleteStr
- DelLine(ユーザー文字列,数字)
- ユーザー文字列の数字で指定された行を削除します。
行の指定は1からLineCountで取得した行数までです。
指定した行が無かった場合、#_RESULTに0が入ります。
改行はCR/LFのセットとなっていることが前提です。
- GetLine(ユーザー文字列,文字列,数字)
- 文字列の、数字で指定された行を、ユーザー文字列に格納します。
行の指定は1からLineCountで取得した行数までです。
指定した行が無かった場合、#_RESULTに0が入ります。
改行はCR/LFのセットとなっていることが前提です。
- InsertStr(ユーザー文字列,文字列,数字)
- ユーザー文字列の、「数字」文字目に、文字列を挿入します。
サロゲートペアは2文字としてカウントします。サロゲートペアを1文字として扱うにはInsertStrWを使用して下さい。
- InsertStrW(ユーザー文字列,文字列,数字)
- サロゲートペアを1文字としてカウントするInsertStr
- InsLine(ユーザー文字列,文字列,数字)
- ユーザー文字列の、数字で指定された行に、文字列を挿入します。
行の指定は1からLineCountで取得した行数までです。
指定した行が無かった場合、#_RESULTに0が入ります。
改行はCR/LFのセットとなっていることが前提です。
- IntToChar(ユーザー文字列,数字)
- 数字が0~65535の間の場合、ユーザー文字列に対応する文字(UTF-16)として格納します。#_RESULTには1が格納されます。失敗した場合、#_RESULTに0が格納されます。
- IntToCommaStr(ユーザー文字列,数字)
- 数字を文字列に変換してユーザー文字列に代入します。このとき、3桁毎に , を入れます。
変換に失敗した場合、#_RESULTに0が入ります。
- IntToHex(ユーザー文字列,数字1,数字2)
- 数字1を16進数の文字列に変換してユーザー文字列に代入します。
数字2は最低限の桁数を指定します。変換後の桁数が数字2に満たない場合は、0でパディングされます。
変換に失敗した場合、#_RESULTに0が入ります。
- IntToStr(ユーザー文字列,数字)
- 数字を文字列に変換してユーザー文字列に代入します。
変換に失敗した場合、#_RESULTに0が入ります。
- LastChar(ユーザー文字列,文字列)
- 文字列の、最後の文字をユーザー文字列に格納します。
最後の文字がサロゲートペアだった場合は、その文字を返却します。
成功した場合、#_RESULTには0が入ります。
失敗した場合は以下の値が格納されます。
#_RESULT | 意味
|
---|
1 | ユーザー文字列が空文字列
|
2 | 最後の文字がサロゲートペアの1文字目だった
|
3 | 最後の文字がサロゲートペアの2文字目だったが、その前の文字がサロゲートペアの1文字目ではなかった
|
- LengthStr(ユーザー変数,文字列)
- 文字列の長さをユーザー変数に代入します。
サロゲートペアは2文字としてカウントします。サロゲートペアを1文字として扱うにはLengthStrWを使用して下さい。
- LengthStrA(ユーザー変数,文字列)
- 文字列を内部で一旦Ansi文字列に変換して、その長さをユーザー変数に格納します。なお、IsSafeConvW2A判別式で真の文字列を渡さないと正しい値は返ってこないので注意して下さい。
- LengthStrW(ユーザー変数,文字列)
- 文字列の長さをユーザー変数に代入します。
LengthStrと違い、サロゲートペアも1文字としてカウントしています。
- LineCount(ユーザー変数,文字列)
- 文字列の行数をカウントしてユーザー変数に格納します。
改行はCR/LFのセットとなっていることが前提です。
- LowerStr(ユーザー文字列,文字列)
- 文字列中のASCIIの大文字アルファベットを小文字に変換してユーザー文字列に代入します。
ASCII以外のアルファベット等も小文字に変換したい場合はAnsiLowerStrを使用して下さい。
- NormalizeStr(ユーザー文字列,文字列,数字)
- 文字列を、数字で指定した方法で正規化してユーザー文字列に返します。
数字 | 正規化の方法 |
---|
0 | NFC |
1 | NFD |
2 | NFKC |
3 | NFKD |
変換に失敗した場合は0を、成功した場合は1を、数字が不正だった場合は-1を#_RESULTに返します
- PosStr(ユーザー変数,文字列1,文字列2)
- 文字列1の中の文字列2の場所をユーザー変数に格納します。見つからない場合は0を格納します。
サロゲートペアは2文字としてカウントしています。サロゲートペアを1文字として扱うにはPosStrWを使用して下さい。
- PosStrW(ユーザー変数,文字列1,文字列2)
- サロゲートペアを1文字としてカウントするPosStr
- PosText(ユーザー変数,文字列1,文字列2,数字)
- 文字列1の中の文字列2の場所をユーザー変数に格納します。見つからない場合は0を格納します。
PosStrとの違いは、比較にいくつかのオプションを指定できることです。
数字(bit) | 意味
|
---|
bit0 | 1を指定するとASCIIの大文字・小文字を区別しなくなります。
|
bit1 | 1を指定すると全ての大文字・小文字を区別しなくなります。
|
サロゲートペアは2文字としてカウントしています。サロゲートペアを1文字として扱うにはPosTextWを使用して下さい。
- PosTextW(ユーザー変数,文字列1,文字列2,数字)
- サロゲートペアを1文字としてカウントするPosText
- ReplaceStr(ユーザー文字列,文字列1,文字列2,数字)
- ユーザー文字列の中にある「文字列1」を「文字列2」に置き換えます。数字が0の時は最初に見つけた「文字列1」のみを置換します。0以外の時は全ての「文字列1」を置き換えます。
- ReplaceText(ユーザー文字列,文字列1,文字列2,数字)
- ユーザー文字列の中にある「文字列1」を「文字列2」に置き換えます。数字が0の時は最初に見つけた「文字列1」のみを置換します。0以外の時は全ての「文字列1」を置き換えます。
ReplaceStrと違い、大文字と小文字を区別しません。
ver 2までのASCIIのA-Zだけを同一視するものが必要な場合、ReplaceTextAを使用して下さい。
- ReplaceTextA(ユーザー文字列,文字列1,文字列2,数字)
- ASCIIのA-Zだけを大文字・小文字の同一視を行うReplaceText(ver 2互換用)
- SetLine(ユーザー文字列,文字列,数字)
- ユーザー文字列の、数字で指定された行を、文字列で置き換えます。
行の指定は1からLineCountで取得した行数までです。
指定した行が無かった場合、#_RESULTに0が入ります。
改行はCR/LFのセットとなっていることが前提です。
- SetStr(ユーザー文字列,文字列)
- 文字列をユーザー文字列に代入します。
ユーザー文字列=文字列と同等です。
- SortLine(ユーザー文字列,数字1,数字2,数字3)
- ユーザー文字列を、数字1~数字3で指定された方法でソートします。
数字1は1バイト文字・2バイト文字の順序を指定します。
数字1 | 順序
|
---|
0 | A < B < a < b < A < B < a < b < あ < ア < ア
|
1 | a < a < A < A < b < b < B < B < ア < ア < あ
|
数字2は大文字・小文字の同一視のレベルを指定します。
数字2 | 同一視レベル
|
---|
0 | a = A(ascii), a = A
|
1 | a = A(ascii), a <> A
|
2 | a <> A(ascii), a <> A
|
数字3は昇順・降順を指定します。
何らかのエラーが発生した場合、#_RESULTに0が入ります。
注意 VISTA以降、コントロールパネル>言語>形式>並べ替え方法を変更する、の設定によってソート結果が変わります。
- UpperStr(ユーザー文字列,文字列)
- 文字列中のASCIIの小文字アルファベットを大文字に変換してユーザー文字列に代入します。
ASCII以外のアルファベット等も大文字に変換したい場合はAnsiUpperStrを使用して下さい。
- WideCharToInt(ユーザー変数,文字列)
- 文字列の最初の一文字目のコードをそのまま数値としてユーザー変数に格納します。文字列が空の場合、なにもせず、#_RESULTに0を返します。
システム判別式
- EqStr(文字列1,文字列2)
- 文字列1=文字列2の時に真。その他は疑。
大文字・小文字を区別します。
- EqStrEx(文字列1,文字列2,数字1,数字2)
- 文字列1=文字列2の時に真。その他は疑。
比較の仕方は数字1、数字2で指定します。
- EqText(文字列1,文字列2)
- 文字列1=文字列2の時に真。その他は疑。
大文字・小文字を区別しません。
- GEqStr(文字列1,文字列2)
- 文字列1>=文字列2の時に真。その他は疑。
大文字・小文字を区別します。
- GEqStrEx(文字列1,文字列2,数字1,数字2)
- 文字列1>=文字列2の時に真。その他は疑。
比較の仕方は数字1、数字2で指定します。
- GEqText(文字列1,文字列2)
- 文字列1>=文字列2の時に真。その他は疑。
大文字・小文字を区別しません。
- GrtStr(文字列1,文字列2)
- 文字列1>文字列2の時に真。その他は疑。
大文字・小文字を区別します。
- GrtStrEx(文字列1,文字列2,数字1,数字2)
- 文字列1>文字列2の時に真。その他は疑。
比較の仕方は数字1、数字2で指定します。
- GrtText(文字列1,文字列2)
- 文字列1>文字列2の時に真。その他は疑。
大文字・小文字を区別しません。
- IsSafeConvW2A(文字列)
- 文字列が「安全に」UTF-16からShift_JISにコンバートできるならば真
- LEqStr(文字列1,文字列2)
- 文字列1<=文字列2の時に真。その他は疑。
大文字・小文字を区別します。
- LEqStrEx(文字列1,文字列2,数字1,数字2)
- 文字列1<=文字列2の時に真。その他は疑。
比較の仕方は数字1、数字2で指定します。
- LEqText(文字列1,文字列2)
- 文字列1<=文字列2の時に真。その他は疑。
大文字・小文字を区別しません。
- LsStr(文字列1,文字列2)
- 文字列1<文字列2の時に真。その他は疑。
大文字・小文字を区別します。
- LsStrEx(文字列1,文字列2,数字1,数字2)
- 文字列1<文字列2の時に真。その他は疑。
比較の仕方は数字1、数字2で指定します。
- LsText(文字列1,文字列2)
- 文字列1<文字列2の時に真。その他は疑。
大文字・小文字を区別しません。
- NotEqStr(文字列1,文字列2)
- 文字列1<>文字列2の時に真。その他は疑。
大文字・小文字を区別します。
- NotEqStrEx(文字列1,文字列2,数字1,数字2)
- 文字列1<>文字列2の時に真。その他は疑。
比較の仕方は数字1、数字2で指定します。
- NotEqText(文字列1,文字列2)
- 文字列1<>文字列2の時に真。その他は疑。
大文字・小文字を区別しません。
<<< 前へ TOP 次へ>>>