文字列操作

WinGoferには文字列を操作する関数が用意されています。

LEFT

変数に保存されている文字列の、先頭から指定した文字数を取り出します。

 代入する文字型変数= LEFT(切り出し対象の文字型変数, 文字数)

INTYPE変数入力オプション結果
INSTR:SUBSTITUTE変数名:^str1、代入式:ABCDEF
INLEFT^str1=LEFT(^str1, 3)^str1=ABC
INLEFT^str1=LEFT(^str1, 5)^str1=ABC
INNUM:SUBSTITUTE変数名:^len、代入式:3
INSTR:SUBSTITUTE変数名:^str2、代入式:あいうえお
INLEFT[文字数:^len]^str2=LEFT(^str2, ^len-1)^str2=あい
  • 指定する「文字数」には数値型変数や計算式を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。
  • 「文字数」が対象文字列の長さを越える場合、末尾まで出力されます。

RIGHT

変数に保存されている文字列の、後ろから指定した文字数を取り出します。

 代入する文字型変数= RIGHT(切り出し対象の文字型変数, 文字数)

INTYPE変数入力オプション結果
INSTR:SUBSTITUTE変数名:^str1、代入式:ABCDEF
INRIGHT^str1=RIGHT(^str1, 3)^str1=DEF
INRIGHT^str1=RIGHT(^str1, 5)^str1=DEF
INNUM:SUBSTITUTE変数名:^len、代入式:3
INSTR:SUBSTITUTE変数名:^str2、代入式:あいうえお
INRIGHT[文字数:^len]^str2=RIGHT(^str2, ^len-1)^str2=えお
  • 指定する「文字数」には数値型変数や計算式を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。
  • 「文字数」が対象文字列の長さを越える場合、先頭まで出力されます。

MIDDLE

変数に保存されている文字列から、開始位置と文字数を指定して取り出します。

 代入する文字型変数= MIDDLE(切り出し対象の文字型変数, 開始位置, 文字数)

INTYPE変数入力オプション結果
INSTR:
SUBSTITUTE
変数名:^str1、
代入式:ABCDEF
INMIDDLE^str1=MIDDLE(^str1, 3, 3)^str1=CDE
INMIDDLE^str1=MIDDLE(^str1, 2, 5)^str1=DE
INMIDDLE^str1=MIDDLE(^str1, 3, 1)^str1=
INNUM:
SUBSTITUTE
変数名:^start、代入式:3
INNUM:
SUBSTITUTE
変数名:^len、代入式:2
INSTR:
SUBSTITUTE
変数名:^str2、
代入式:あいうえお
INMIDDLE[文字数:^len]^str2=MIDDLE
  (^str2, ^start-1, ^len+1)
^str2=いうえ
  • 「開始位置」は1から始まります。
  • 「開始位置」、「文字数」には数値型変数や計算式を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。
  • 「開始位置」が対象文字列の長さを越える場合、結果は「なし(空文字)」となります。
  • 「文字数」が対象文字列の長さを越える場合、末尾まで出力されます。

REPLACE

変数に保存されている文字列に含まれる特定の文字列を、指定した文字列で置換します。

 代入する文字型変数= 置換対象の文字型変数、[置換前文字列]、 [置換後文字列]

INTYPE変数入力オプション結果
INSUBSTITUTE変数名:^str1、代入式:Element
INREPLACE^str1=^str1、old[e]、new[#]El#m#nt
INSUBSTITUTE変数名:^str2、
代入式:ある日、ある人があるいた。
INSUBSTITUTE変数名:^new、代入式:その
INREPLACE[置換後:^new]^str2=^str2、old[、ある]、new[曜日、^new]ある日曜日、その人があるいた。
INSUBSTITUTE変数名:^str3、
代入式:2,000,000
INREPLACE^str3=^str3、old[,]、new[]2000000
  • 「置換前文字列」「置換後文字列」には、文字型変数、数値型変数を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。
  • 「置換後文字列」を『なし(空文字)』にすることで、指定した文字列の削除が可能です。
  • 「置換前文字列」を『なし(空文字)』にした場合、変換は行われません。

文字位置の取得

LEFT、RIGHT、MIDDLEで文字列を切り出す場合、文字列長や、特定文字の位置が必要になるケースがあります。

LENGTH

文字型変数に保持されている「文字列の長さ」を、数値型変数に代入します。

IOTYPE入力オプション結果
INSUBSTITUTE変数名:^str1、代入式:ABCDE
OUTLENGTH文字(元):^str1、数値(新):^num1^num1=5
INSUBSTITUTE変数名:^str2、代入式:あいうえお
OUTLENGTH文字(元):^str2、数値(新):^num2^num2=5

INSTR、INSTR-REV

INSTR:先頭から数えて、特定の文字列がヒットした位置を数値型変数に代入します。
INSTR-REV:文字列の末尾から数えて、特定の文字列がヒットした位置を数値型変数に代入します。

INTYPE変数入力オプション結果
INSUBSTITUTE変数名:^str1、代入式:Element
OUTINSTR文字(元):^str1、数値(新):^n1、文言:e^n1=3
OUTINSTR-REV文字(元):^str1、数値(新):^n1、文言:e^n1=5
OUTINSTR文字(元):^str1、数値(新):^n1、文言:AB^n1=0
INSUBSTITUTE変数名:^str2、代入式:あいうえお
INSUBSTITUTE変数名:^word、代入式:うえ
OUTINSTR^word文字(元):^str2、数値(新):^n2、文言:^word^n2=3
  • 文字位置は1から始まります。
  • 検索にヒットしない場合は「0」が返ります。
  • 検索文言には、文字型変数、数値型変数を含めることができます。変数を使用する場合は【変数欄】に使用する変数を記入します。