文字列操作
WinGoferには文字列を操作する関数が用意されています。
LEFT
変数に保存されている文字列の、先頭から指定した文字数を取り出します。
代入する文字型変数= LEFT(切り出し対象の文字型変数, 文字数)
IN | TYPE | 変数 | 入力オプション | 結果 |
---|---|---|---|---|
IN | STR:SUBSTITUTE | 変数名:^str1、代入式:ABCDEF | ||
IN | LEFT | ^str1=LEFT(^str1, 3) | ^str1=ABC | |
IN | LEFT | ^str1=LEFT(^str1, 5) | ^str1=ABC | |
IN | NUM:SUBSTITUTE | 変数名:^len、代入式:3 | ||
IN | STR:SUBSTITUTE | 変数名:^str2、代入式:あいうえお | ||
IN | LEFT | [文字数:^len] | ^str2=LEFT(^str2, ^len-1) | ^str2=あい |
- 指定する「文字数」には数値型変数や計算式を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。
- 「文字数」が対象文字列の長さを越える場合、末尾まで出力されます。
RIGHT
変数に保存されている文字列の、後ろから指定した文字数を取り出します。
代入する文字型変数= RIGHT(切り出し対象の文字型変数, 文字数)
IN | TYPE | 変数 | 入力オプション | 結果 |
---|---|---|---|---|
IN | STR:SUBSTITUTE | 変数名:^str1、代入式:ABCDEF | ||
IN | RIGHT | ^str1=RIGHT(^str1, 3) | ^str1=DEF | |
IN | RIGHT | ^str1=RIGHT(^str1, 5) | ^str1=DEF | |
IN | NUM:SUBSTITUTE | 変数名:^len、代入式:3 | ||
IN | STR:SUBSTITUTE | 変数名:^str2、代入式:あいうえお | ||
IN | RIGHT | [文字数:^len] | ^str2=RIGHT(^str2, ^len-1) | ^str2=えお |
- 指定する「文字数」には数値型変数や計算式を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。
- 「文字数」が対象文字列の長さを越える場合、先頭まで出力されます。
MIDDLE
変数に保存されている文字列から、開始位置と文字数を指定して取り出します。
代入する文字型変数= MIDDLE(切り出し対象の文字型変数, 開始位置, 文字数)
IN | TYPE | 変数 | 入力オプション | 結果 |
---|---|---|---|---|
IN | STR: SUBSTITUTE | 変数名:^str1、 代入式:ABCDEF | ||
IN | MIDDLE | ^str1=MIDDLE(^str1, 3, 3) | ^str1=CDE | |
IN | MIDDLE | ^str1=MIDDLE(^str1, 2, 5) | ^str1=DE | |
IN | MIDDLE | ^str1=MIDDLE(^str1, 3, 1) | ^str1= | |
IN | NUM: SUBSTITUTE | 変数名:^start、代入式:3 | ||
IN | NUM: SUBSTITUTE | 変数名:^len、代入式:2 | ||
IN | STR: SUBSTITUTE | 変数名:^str2、 代入式:あいうえお | ||
IN | MIDDLE | [文字数:^len] | ^str2=MIDDLE (^str2, ^start-1, ^len+1) | ^str2=いうえ |
- 「開始位置」は1から始まります。
- 「開始位置」、「文字数」には数値型変数や計算式を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。
- 「開始位置」が対象文字列の長さを越える場合、結果は「なし(空文字)」となります。
- 「文字数」が対象文字列の長さを越える場合、末尾まで出力されます。
REPLACE
変数に保存されている文字列に含まれる特定の文字列を、指定した文字列で置換します。
代入する文字型変数= 置換対象の文字型変数、[置換前文字列]、 [置換後文字列]
IN | TYPE | 変数 | 入力オプション | 結果 |
---|---|---|---|---|
IN | SUBSTITUTE | 変数名:^str1、代入式:Element | ||
IN | REPLACE | ^str1=^str1、old[e]、new[#] | El#m#nt | |
IN | SUBSTITUTE | 変数名:^str2、 代入式:ある日、ある人があるいた。 | ||
IN | SUBSTITUTE | 変数名:^new、代入式:その | ||
IN | REPLACE | [置換後:^new] | ^str2=^str2、old[、ある]、new[曜日、^new] | ある日曜日、その人があるいた。 |
IN | SUBSTITUTE | 変数名:^str3、 代入式:2,000,000 | ||
IN | REPLACE | ^str3=^str3、old[,]、new[] | 2000000 |
- 「置換前文字列」「置換後文字列」には、文字型変数、数値型変数を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。
- 「置換後文字列」を『なし(空文字)』にすることで、指定した文字列の削除が可能です。
- 「置換前文字列」を『なし(空文字)』にした場合、変換は行われません。
文字位置の取得
LEFT、RIGHT、MIDDLEで文字列を切り出す場合、文字列長や、特定文字の位置が必要になるケースがあります。
LENGTH
文字型変数に保持されている「文字列の長さ」を、数値型変数に代入します。
IO | TYPE | 入力オプション | 結果 |
---|---|---|---|
IN | SUBSTITUTE | 変数名:^str1、代入式:ABCDE | |
OUT | LENGTH | 文字(元):^str1、数値(新):^num1 | ^num1=5 |
IN | SUBSTITUTE | 変数名:^str2、代入式:あいうえお | |
OUT | LENGTH | 文字(元):^str2、数値(新):^num2 | ^num2=5 |
INSTR、INSTR-REV
INSTR:先頭から数えて、特定の文字列がヒットした位置を数値型変数に代入します。
INSTR-REV:文字列の末尾から数えて、特定の文字列がヒットした位置を数値型変数に代入します。
IN | TYPE | 変数 | 入力オプション | 結果 |
---|---|---|---|---|
IN | SUBSTITUTE | 変数名:^str1、代入式:Element | ||
OUT | INSTR | 文字(元):^str1、数値(新):^n1、文言:e | ^n1=3 | |
OUT | INSTR-REV | 文字(元):^str1、数値(新):^n1、文言:e | ^n1=5 | |
OUT | INSTR | 文字(元):^str1、数値(新):^n1、文言:AB | ^n1=0 | |
IN | SUBSTITUTE | 変数名:^str2、代入式:あいうえお | ||
IN | SUBSTITUTE | 変数名:^word、代入式:うえ | ||
OUT | INSTR | ^word | 文字(元):^str2、数値(新):^n2、文言:^word | ^n2=3 |
- 文字位置は1から始まります。
- 検索にヒットしない場合は「0」が返ります。
- 検索文言には、文字型変数、数値型変数を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。