INSTR - [文字列] |
||||||
… 文字列1内に文字列2のある位置を取得
INSTR(文字列1,文字列2)
文字列1: 検索対象の文字列
文字列2: 検索文字列
文字列1内で文字列2を検索して、見つかった場合は先頭からの位置を返します。位置は、半角でカウントした文字数を表す数値が返ります。見つからなかった場合は、0が返ります。
このコマンドは数値が返るため、ほかの文字列関数内でも使用できます。
(サンプル 1)
REM 944BASIC 'INSTR サンプル'
A='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
*START
PRINT 'A-Zのアルファベット(大文字)を入力'
INPUT B,1,3
C=INSTR(A,B)
IF C THEN PRINT B;: PRINT 'は、アルファベットの';:PRINT C;:PRINT '番目の文字です。' ELSE PRINT '半角英大文字で入力してください。'
PRINT 'PUSH KEY'
KEYWAIT
B='':CLS
GOTO *START
(サンプル 2)
REM 944BASIC 'INSTR サンプル2'
REM デリミタで文字列を切りわける例
A='123;あいう;4567;ABC;89;わをん'
DLM=';'
*LOOP
L=LEN(A)
C=INSTR(A,DLM): REM ; のある位置
REM 0の場合、残りの文字列を表示して
REM ループを抜ける
IF C=0 THEN PRINT A:GOTO *EXITLOOP
REM ; の1つ前までを切り出す
B=MID(A,1,C-1): PRINT B
REM 表示が済んだ部分は切り詰める
A=MID(A,C+1,L-C)
GOTO *LOOP
*EXITLOOP
KEYWAIT
END
INSTR - [文字列] |