FreeBASIC マニュアルのトップに戻る

FreeBASIC CatPgString

目次→ランタイム・ライブラリー参考→String Functions←オリジナル・サイト

文字列関連 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

文字列で使える、命令文と手続き。

記述:
 これらの命令文と手続きは、文字列と部分文字列を作成して操作する、多くの方法を提供します。
 数値を文字列に変換できます。逆もまた同様です。
 また、手続き、数値データを、持続的な保管のために、順番に並べる(データ全体を通信用またはファイル保存用に変換する)ことを支援します。

文字列を作成
新しい文字列を作成する、文字列データ型と手続き。
文字変換
文字コードから文字列に、双方向に変換する手続き。
数値を文字列に変換
数値/ブール値を文字列に変換する手続き。
文字列またはブール値を数値に変換
文字列を数値に変換する手続き。
Shift-JIS 2バイト文字を扱う
UNICODE でなく、Shift-JIS で、日本語の、全角・半角を、1文字として扱います。
数値を連続化する
生の数値データを、保管にふさわしい文字列に変える、双方向の手続き。
部分文字列で使う
文字列の部分集合を返すか、または文字列の部分集合を変更する手続き。

文字列を作成
STRING
標準のデータ型: 8 ビット文字列で、可変長または、固定長
STRING (関数)
複数の文字の、文字列(String(文字列))を返します。
ZSTRING
標準のデータ型: 8 ビットの文字列で、固定長。ヌルで終えられます。
WSTRING
標準のデータ型: ワイド文字列。
WSTRING (関数)
複数文字の、ワイド文字列(WString)を返します。
SPACE
空白の文字列(String(文字列))を返します。
WSPACE
空白のワイド文字列(WString)を返します。
LEN
文字列の、文字数での長さを返します。

文字変換
ASC
文字の、整数(Integer)表現を返します。
CHR
ASCII 整数(Integer) 表現から、一文字あるいは複数文字の文字列を返します。
WCHR
ユニコード整数(Integer) 表現から、1つ以上の文字の WString を返します。

数値/ブール値を文字列に変換
BIN
整数値の、2進数文字列(String(文字列)) 表現を返します。
WBIN
整数値の、2進数の WString 表現を返します。
HEX
整数値の、16進数文字列(String(文字列)) 表現を返します。
WHEX
整数値の、16進数 WString 表現を返します。
OCT
整数値の、8進数文字列(String(文字列)) 表現を返します。
WOCT
整数値の、8進数 WString 表現を返します。
STR
数値から、その文字列(String(文字列)) 表現を返します。
WSTR
数値の、WString 表現を返します。

FORMAT
倍精度浮動小数(DOUBLE (倍精度)) の、成形された文字列(String(文字列)) 表現を返します。

文字列を数値に変換
VAL
数字文字列を、倍精度浮動小数(Double)に変換します。
VALINT
数字文字列を、整数(Integer) に変換します。
VALLNG
数字文字列を、長整数(Long) に変換します。
VALUINT
数字文字列を、uInteger に変換します。
VALULNG
数字文字列を、ULong に変換します。

Shift-JIS 2バイト文字を扱う
KLEN
全角・半角も1文字扱いとして、文字列の、文字数の長さを返します。
KMID (関数)
全角・半角も1文字扱いとして、文字列の、部分文字列を返します。

数値を連続化する
MKD
DOUBLE (倍精度) に対する、8バイト String(文字列) 表現を返します。

MKI
Integer の、4バイト String(文字列) 表現を返します。

MKL
Long の、4バイト String(文字列) 表現を返します。

MKLONGINT
Longint の、8バイト String(文字列) 表現を返します。

MKS
SINGLE (短精度) の、4バイト String(文字列) 表現を返します。

MKSHORT
SHORT の、2バイト String(文字列) 表現を返します。

CVD
8バイト String(文字列) の、DOUBLE (倍精度) 表現を返します。

CVI
4バイト String(文字列) の、Integer 表現を返します。

CVL
4バイト String(文字列) の、Long 表現を返します。

CVLONGINT
8バイト String(文字列) の、Longint 表現を返します。

CVS
4バイト String(文字列) の、SINGLE (短精度) 表現を返します。

CVSHORT
2バイト String(文字列) の、SHORT 表現を返します。

部分文字列で使う
LEFT
文字列で、一番左から文字を数えた部分文字列を、返します。
MID (関数)
文字列の、部分文字列を返します。
RIGHT
文字列で、一番右の文字から数えた文字列を返します。
LCASE
英字を、小文字に変換した文字列を返します。
UCASE
英字を、大文字に変換した文字列を返します。
LTRIM
文字列の左側で、空白の文字列か文字を外します。
RTRIM
文字列の右側で、空白の文字列か文字を外します。
TRIM
文字列の左右の両側で、空白の文字列か文字を外します。
INSTR
文字列の中で、部分文字列か文字が、初めて出現する位置を返します。

INSTRREV
文字列の中で、部分文字列か文字が、最後に出現する位置を返します。

MID (命令文)
文字列の指定桁の部分を、他の文字列で置換します。
LSET
文字列を左詰めします。

RSET
文字列を右詰します。

文字を符号化
ENCODING
ファイルの文字符号化形式を指定します。
ここで、文字コードの ShiftJIS ⇔ UNICODE(utf-16) 変換方法も、紹介しています。

 
FreeBASIC には、文字列で置換する関数が有りません。
下記は、TJF さんが掲示板で公開しているサブ・ルーチンです。
http://www.freebasic.net/forum/viewtopic.php?f=7&t=16920
正規表現を使った置換 も参照下さい。
'http://www.freebasic.net/forum/viewtopic.php?f=7&t=16920
'by TJF ≫ Nov 22, 2010 6:39 

'サブルーチンを呼んだ後、Expression に置換結果が戻ります。 

Declare Sub STRreplace(ByRef Expression As String, ByRef Find As String, ByRef Replacement As String, ByVal Start As Integer = 1)

Dim mojiretsu As String
Dim mae As String
Dim ato As String

mojiretsu = "abcdefg abcdefg"
mae ="de"
ato = "xxx"

STRreplace(mojiretsu , mae, ato)

Print mojiretsu

Sleep

Sub STRreplace(ByRef Expression As String, ByRef Find As String, ByRef Replacement As String, ByVal Start As Integer = 1)
   Var p = InStr(Start, Expression, Find), li = Len(Find), ls = Len(Replacement) : If li = ls Then li = 0
   While p
      If li Then 
         Expression = Left(Expression, p - 1) & Replacement & Mid(Expression, p + li) 
      Else 
         Mid(Expression, p) = Replacement
      End If
      p = InStr(p + ls, Expression, Find)
   Wend
End Sub
 
目次に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2015-10-03 05:08:32
日本語翻訳:WATANABE Makoto、原文著作者: RandyKeeling

ホームページのトップに戻る

表示-非営利-継承