ユーザ用ツール


reference:文字列操作

文字列操作

文字列の配列型参照について

[]を使用することで、文字列内の1文字を取得したり指定位置の文字を置換できる。

A$="12345" 
A$[3] → "4" 
A$[3]="ABC" → "123ABC5" 

ASC(文字列)

文字列先頭文字の文字コードを取得する

引数

文字列

調べたい文字が先頭に入った文字列

返値

指定された文字の文字コード

A=ASC("A")
X=ASC("XYZ")

CHR$(文字コード)

指定された文字コードから文字を返す
・定数式で使用可能。

引数

文字コード

取得したい文字の文字コード

返値

文字コードに対応する1文字の文字列

S$=CHR$(65)

VAL(文字列)

数値を表す文字列を数値に変換する

引数

文字列

数値を表す文字列("123"など)

返値

文字列から解釈した数値

A=VAL("123")
F=VAL("-12.56")

STR$(数値[,桁数])

数値を文字列に変換する

引数

数値

文字列に変換したい数値

桁数

指定桁数で右揃えしたい場合に指定:0~63
・数値の桁数が指定桁数より大きい場合指定を無視する。
・0を指定した場合桁揃えをしない。
・省略時は0。

返値

変換された文字列(123→"123")

S$=STR$(123)

HEX$(数値[,桁数])

数値を16進数文字列に変換する

引数

数値

16進数文字列に変換したい数値
・実数を指定した場合、小数部は切り捨てられる。

桁数

出力する16進数文字列の桁数:0~8
・1以上の値を指定すると先頭に0を埋めた文字列を返す。
・0を指定した場合先頭に0を埋めない。
・省略時は0。

返値

変換結果16進数文字列

S$=HEX$(65535,4)

BIN$(数値[,桁数])

数値を2進数文字列に変換する

引数

数値

2進数文字列に変換したい数値
・実数を指定した場合、小数部は切り捨てられる。

桁数

出力する2進数文字列の桁数:0~32
・1以上の値を指定すると先頭に0を埋めた文字列を返す。
・0を指定すると先頭に0を埋めない。
・省略時は0。

返値

変換結果2進数文字列

S$=BIN$(65535,16)

FORMAT$(書式文字列,値,…)

表示書式を使って値を整形し文字列化する

引数

書式文字列

値を整形して埋め込む文字列
・%の後に以下の型指定や補助指定をつける事で値の整形方法を制御する。

%S 文字列変数の内容を出力
%D 整数を10進出力
%X 整数を16進出力
%F 実数を出力
%B 整数を2進出力
%% %を1文字出力

書式文字列の補助指定

%のあとに次の補助指定を行うことにより出力を整形する

・桁数指定:桁数の数値を指定(%8D,%4X)
・小数の桁数指定:全体桁数.小数部の桁数(%8.2F)
・空白埋め:空白文字+桁数を指定(% 4D→"   0")
・ゼロ埋め:0+桁数を指定(%08D→"00000000")
・左寄せ:-記号+桁数を指定(%-8D)
・+符号表示:+記号+桁数を指定(%+8D)

・整形して文字列化する値を、書式文字列中の%指定の数だけ引数として指定する(%%をのぞく)。
・%指定が期待する型と引数の型がマッチしない場合エラーが発生する。

返値

生成された文字列

S$=FORMAT$("%06D",A)

LEN(文字列)
LEN(配列)

文字列の文字数、または配列の要素数を取得する

引数

文字列の場合

文字数を調べたい文字列

配列の場合

要素数を調べたい配列

返値

・文字列のとき:文字数
・配列のとき:要素数

? LEN("ABC123")
DIM B[4]
? LEN(B)

LAST(文字列)
LAST(配列)

文字列または配列の末尾の添字番号を返す

引数

文字列または配列

末尾を調べたい文字列、または配列

返値

末尾の添字番号
・文字列、配列ともLEN関数の返値から1を引いた値を返す。

DIM X[10]
FOR I=0 TO LAST(X)
 X[I]=I
NEXT

MID$(文字列,開始位置 [,文字数])

文字列の指定位置から指定文字数分の部分文字列を取得する

引数

文字列

対象文字列

開始位置

取得文字列の開始位置

文字数

取得文字列の文字数
・省略時は開始位置から文字列末端までの文字数を指定した事になる。

返値

取得した文字列

S$=MID$("ABC",0,2)

LEFT$(文字列,文字数)

文字列の先頭から指定文字数分の部分文字列を取得する

引数

文字列

対象文字列

文字数

取得文字列の文字数

返値

取得した文字列

S$=LEFT$("ABC",2)

RIGHT$(文字列,文字数)

文字列の末端から指定文字数分の部分文字列を取得する

引数

文字列

対象文字列

文字数

取得文字列の文字数

返値

取得した文字列

S$=RIGHT$("ABC",2)

INSTR(文字列,検索文字列)
INSTR(開始位置,文字列,検索文字列)

文字列内から指定文字列を検索して位置を返す

引数

開始位置

文字列内で検索を開始する位置
・省略時は文字列先頭から検索する。

文字列

検索対象の文字列

検索文字列

検索したい文字列

返値

見つかった場合:文字列内の位置
見つからなかった場合:-1

A=INSTR(0,"ABC","B")

SUBST$(文字列,開始位置,置換文字列)
SUBST$(文字列,開始位置,文字数,置換文字列)

文字列の一部を置き換えて新しい文字列を作成する

引数

文字列

置換対象の文字列

開始位置

置換開始位置

文字数

置換対象の文字数
・省略時は、開始位置以降の全文字を置換文字列で置き換える。

置換文字列

開始位置から文字数分をこの文字列で置き換える

返値

置き換えが完了した文字列

A$=SUBST$("ABC",0,2,"XY")

DATE$()

現在の日付を文字列として返す

返値

現在の日付文字列
・書式は"西暦/月/日"。

TIME$()

現在の時刻を文字列として返す

返値

現在の時刻文字列
・書式は"時:分:秒"。

reference/文字列操作.txt · 最終更新: 2023/12/07 15:51 (外部編集)

ページ用ツール