文字列の長さを調べる
文字列型変数に入っている文字列の長さ(文字数)は、strlen関数を使って取得します。
全角文字は2文字扱いです。
strlen(文字列型変数名)
sdim moji : moji = "drakuji"
mes strlen(moji) //・・・7
moji = "ドラクジ"
mes strlen(moji) //・・・8(※1)
関数名:strlen「文字列の長さを返す」
文字列型変数名:moji「文字」
(※1)全角文字1文字は、2文字カウント扱いです。
文字列の一部をコピーする
文字列型変数に入っている文字列の一部をstrmid関数を使って別の変数などに代入します。
文字数は1文字目を0として数えて取得したい位置を指定します。また、-1を指定すると最後の文字から左へ何文字取得する指定方法に変わります。
終了位置は開始位置から取得したい文字を指定します
strmid(文字列型変数名,開始位置,文字数)
sdim moji : moji = "drakuji"
moji = strmid(moji,1,4) //左2文字目から4文字取得する
mes moji
moji = "ドラクジ"
mes strmid(moji,1,4) //・・・【おかしな文字が出力される】(※1)
関数名:strmid「文字列の一部をコピーする」
文字列型変数名:moji「文字」
開始位置:1「2文字目から」
文字数:4「4文字取得する」
(※1)全角文字を取り扱うときは、全角文字の半分のところで取得しないようにしましょう。
文字列の一部を置き換える
strrep命令は文字列型変数に入っている文字列の一部を別の文字列に置換します。
strrep 文字列型変数名,"置換対象の文字列","置換する文字列"
sdim moji : moji = "drakuji"
strrep moji,"raku","" //rakuと合致する文字列を削除する
mes moji
sdim moji : moji = "ドラクジドラクジ"
strrep moji,"ラク","" //ラクと合致する文字列を削除する
mes moji
命令名:strrep「文字列の一部を置き換える」
文字列型変数名:moji「文字」
置換対象の文字列:"raku"「raku」
置換する文字列:""「」
(※1)置換対象の文字列は、文字列の中に合致する全箇所が対象となります。
文字列内の指定文字を取り除く
strtrim関数は文字列型変数に入っている文字列から指定した文字を取り除いた文字列で返します。
取り除く位置は、両端のとき:0、左端のみ:1、右端のみ:2、文字列内の全て:3を指定します。
取り除く文字は、1文字を'で囲うか、文字コードを指定します。指定しない場合は半角スペース(文字コード:32)が指定されます。
strtrim(文字列型変数名,取り除く位置,'取り除く'文字'コード')
sdim moji : moji = ",drakuji,ドラクジ,DRAKUJI,どらくじ,"
mes strtrim(moji,0,',') //両端の「,」を削除
mes strtrim(moji,1,',') //左端端の「,」を削除
mes strtrim(moji,2,',') //右端の「,」を削除
mes strtrim(moji,3,',') //文字列内全てのの「,」を削除
関数名:strtrim「指定文字を取り除く」
文字列型変数名:moji「文字」
取り除く位置:0「両端の」
取り除く'文字'コード:','「,」
文字列内を検索する
instr関数は文字列の中に指定した文字列があると、その文字列の開始点を返します。
検索する開始文字数は1文字目を0として数えます。
検索する文字列が見つからなかった場合は-1が返ります。
instr(文字列型変数名,検索する開始文字数,"検索する文字列”)
dim basyo //場所を入れる整数型変数を宣言
sdim moji : moji = "drakuji,ドラクジ,DRAKUJI,どらくじ"
basyo = instr(moji,0,",")//文字列の最初から「,」のある場所を返す
mes basyo //・・・7(8文字目)
basyo = instr(moji,8,",")//文字列の8文字目から「,」のある場所を返す
mes basyo //・・・8(※1)
関数名:instr「文字列内の文字列を検索する」
文字列型変数名:moji「文字」
検索する開始文字数:0「1文字目から」
検索する文字列:","「,」
戻り値は、検索開始する文字数から何文字目に検索する文字列の開始点があるかを返します。
(※1)全角文字の場合は1文字につき2文字カウント扱いです。
Copyright © 2002-2025 team.Dakuji All Rights Reserved.