[前へ] [目次へ] [次へ]

String (ネイティブクラス)


このクラスは文字列を扱うクラスです。

このクラスは文字列定数の型としても使用されます。

このクラスが扱う文字列の具体的な文字コードについては規定されません。
文字は1つ以上の文字ユニットを使って保持されます。
ある文字が何個の文字ユニットを表現されるかは、ASCII文字が1個で表現されることのみ保証されます。
ASCII以外の文字に必要な文字ユニットの数を決め打ちしてはいけません。

このクラスで文字列中の位置インデックスを扱う場合、文字ユニット単位です。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   values IString
          Get
          Set


   implements INativeString
          Get
          (ネイティブインターフェイス)IFGESObject::GetString
          (ネイティブインターフェイス)IFGESObject::SetString


●クラスメソッド

名前概要
public操作メソッド sprintf整形した文字列を生成して返します

●クラスメンバメソッド

名前概要
public設定メソッド #Value値化メソッド
public設定メソッド #operator=代入
public設定メソッド #operator+=加算代入
public操作メソッドconst #operator+加算
public比較・判定メソッドconst #operator==等価
public比較・判定メソッドconst #operator<より小さい
public比較・判定メソッドconst #operator>より大きい
public比較・判定メソッドconst #operator<=以下
public比較・判定メソッドconst #operator>=以上
public比較・判定メソッドconst #operator!=以外
public取得メソッドconst #operator[]指定した番号の文字を取得します
public操作メソッドconst to_i整数化した値を返します
public操作メソッドconst to_f浮動小数化した値を返します
public操作メソッドconst to_s文字列化した値を返します
public操作メソッド Alloc文字列用メモリを確保します
public操作メソッド Empty文字列用メモリを解放します
public取得メソッドconst GetBufferSize現在の文字列用メモリのサイズを得ます
public取得メソッドconst GetLength現在の文字列長を得ます
public取得メソッドconst GetByteLength現在のバイト単位の文字列長を得ます
public比較・判定メソッドconst HeadCompare文字列の先頭が一致するか調べます
public比較・判定メソッドconst HeadCompareNoCase文字列の先頭が大文字小文字無視で一致するか調べます
public比較・判定メソッドconst LastCompare文字列の末尾が一致するか調べます
public比較・判定メソッドconst LastCompareNoCase文字列の末尾が大文字小文字無視で一致するか調べます
public操作メソッド Copy文字列をコピーします
public操作メソッド Concat文字列を結合します
public操作メソッド Chomp最後の改行を削除します
public操作メソッド Chop最後の1文字を削除します
public比較・判定メソッドconst WildCompareワイルドカード比較を行います
public操作メソッド Insert文字列を挿入します
public比較・判定メソッドconst CompareCount一致する文字ユニット数を数えます
public取得メソッドconst GetAt指定した番号の文字を取得します
public比較・判定メソッドconst Compare文字列が等しいか調べます
public比較・判定メソッドconst CompareNoCase文字列を大文字小文字無視で等しいか調べます
public操作メソッド MakeUpper保持する半角アルファベットを全て大文字にします
public操作メソッド MakeLower保持する半角アルファベットを全て小文字にします
public操作メソッド Replace文字列の一部を置換します
public操作メソッド SymbolReplace文字列をプログラム識別子単位で検索して置換します
public比較・判定メソッドconst Find文字列が含まれているか調べます
public比較・判定メソッドconst SymbolFind文字列をプログラム識別子単位で検索します
public比較・判定メソッドconst FindNoCase大文字小文字無視で文字列が含まれているか調べます
public比較・判定メソッドconst SymbolFindNoCase大文字小文字無視で文字列をプログラム識別子単位で検索します
public比較・判定メソッドconst ReverseFind文字列が含まれているか後ろから調べます
public比較・判定メソッドconst ReverseFindNoCase大文字小文字無視で文字列が含まれているか後ろから調べます
public操作メソッドconst FindDiv文字列が含まれているか調べ、それを基準に分割した文字列を取得します
public操作メソッドconst FindNoCaseDiv大文字小文字無視で文字列が含まれているか調べ、それを基準に分割した文字列を取得します
public操作メソッドconst ReverseFindDiv文字列が含まれているか後ろから調べ、それを基準に分割した文字列を取得します
public操作メソッドconst ReverseFindNoCaseDiv大文字小文字無視で文字列が含まれているか後ろから調べ、それを基準に分割した文字列を取得します
public操作メソッド Formatsprintfと同じ方法で書式整形します
public操作メソッドconst Scan型を指定してリストを読み取ります
public取得メソッドconst Mid文字列の一部分のコピーを作成します
public取得メソッドconst Left文字列の先頭からの部分コピーを作成します
public取得メソッドconst Right文字列の終端からの部分コピーを作成します
public操作メソッドconst Regex独自形式正規表現を実行します
public操作メソッドconst RegexS独自形式正規表現を実行します
public操作メソッド URLEncode文字列をURLエンコードします
public操作メソッド URLDecodeURLエンコードされた文字列をデコードします
public操作メソッド EscapeCancelRegex正規表現エスケープを解除します
public操作メソッド EscapeRegex正規表現エスケープします
public操作メソッド EscapeCancelIniExIniExエスケープを解除します
public操作メソッド EscapeIniExIniExエスケープします
public操作メソッド EscapeCancelHTMLHTMLエスケープを解除します
public操作メソッド EscapeHTMLHTMLエスケープします
public操作メソッド EscapeCancelStringStringエスケープを解除します
public操作メソッド EscapeStringStringエスケープします
public比較・判定メソッドconst FindCount文字列が含まれている数を数えます
public操作メソッド FullPath2FileNameフルパスからファイル名を抽出します
public操作メソッド FullPath2FileNameExtフルパスからファイル名を抽出します
public操作メソッド FileName2FullPathファイル名をフルパスにします
public操作メソッド FullPath2Dirフルパスからディレクトリパスを抽出します
public操作メソッド LoadExePath実行中のEXEのあるディレクトリパスを取得します
public取得メソッドconst GetCharCount文字列の文字数を数えます
public取得メソッドconst GetLineCount文字列の行数を数えます
public取得メソッドconst CharIndex2AddrIndex文字数から文字ユニット数へインデックスを変換します
public取得メソッドconst C2A文字数から文字ユニット数へインデックスを変換します
public取得メソッドconst CharIndex2LineIndex文字数から行数へインデックスを変換します
public取得メソッドconst AddrIndex2CharIndex文字ユニット数から文字数へインデックスを変換します
public取得メソッドconst AddrIndex2LineIndex文字ユニット数から行数へインデックスを変換します
public取得メソッドconst LineIndex2AddrIndex行数から文字ユニット数へインデックスを変換します
public取得メソッドconst LineIndex2CharIndex行数から文字数へインデックスを変換します
public操作メソッド Base64EncodeBase64エンコードします
public操作メソッドconst Base64DecodeBase64デコードします
public操作メソッド BinTxtEncodeBinTxtエンコードします
public操作メソッドconst BinTxtDecodeBinTxtデコードします
public操作メソッドconst ConvertToUTF8UTF-8エンコードします
public操作メソッド ConvertFromUTF8UTF-8デコードします
public操作メソッドconst ConvertToUTF16UTF-16LEエンコードします
public操作メソッド ConvertFromUTF16UTF-16LEデコードします
public操作メソッド Delete指定位置から文字列を削除します
public比較・判定メソッドconst SpanIncluding指定文字群以外が最初に出現するまでの文字列を取得します
public比較・判定メソッドconst SpanExcluding指定文字群が最初に出現するまでの文字列を取得します
public比較・判定メソッドconst SpanIncludingCount指定文字群以外が最初に出現する文字ユニット数を返します
public比較・判定メソッドconst SpanExcludingCount指定文字群が最初に出現する文字ユニット数を返します
public操作メソッド TrimLeft文字列の先頭から指定文字群を削除します
public操作メソッド TrimRight文字列の終端から指定文字群を削除します
public操作メソッド HalfChar2FullChar半角英数を全角英数に変換します
public操作メソッド FullChar2HalfChar全角英数を半角英数に変換します
public操作メソッド LoadClipBoardTextクリップボードの文字列をこのオブジェクトに代入します
public操作メソッド Prune指定位置以降の文字列を削除します
public取得メソッドconst HexToInt16進数文字列を数値変換します
public取得メソッドconst ParseInt16進数または10進数文字列を数値変換します

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_STRING
クラス名: FGESString



String::IString@@Get

void IString@@Get(editable IString v)const

   このオブジェクトが持つ値を文字列化して v に設定します。

   このメソッドは最初に v に対して INativeString による設定を試みます。
   これに失敗した場合、 v.Set を呼び出します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

editable IString v :値を受け取るオブジェクト

先頭へ


String::IString@@Set

void IString@@Set( IString v)

   このオブジェクトに v を設定します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get を呼び出します。

IString v :設定する値を持つオブジェクト

先頭へ


String::INativeString@@Get

String INativeString@@Get()const

   FGESレベルで使用できる形の値を取得します。

戻り値:FGESレベルで使用できる形の値。

先頭へ


String::sprintf

public static String sprintf( INativeString format,...)

   C/C++の sprintf とほぼ同じ書式ルールで文字列を整形して返します。

   このメソッドは format 中の % で始まる書式指定と可変長引数を使って文字列を組み立てます。
   出力で % を表示したい場合は %% にエスケープする必要があります。
   書式ルール: % [フラグ] [最低幅] [.精度] 種類
   ●フラグ(省略可能)、同時に指定すると上手く動作しないフラグもあります
記述意味
-出力を左詰めします
+数値を出力する時、正の値でも + を出力します
0最低幅指定があり、出力幅が最低幅に満たない場合、スペースの代わりに0で埋めます
(スペース)数値を出力する時、正の値でもスペースを出力します
#16進数出力時に 0x が先頭に付与されます。また、小数出力時に省略を抑止します
,数値を出力する時、三桁ごとにカンマ区切りします

   ●最低幅(省略可能)
      出力の最低幅を指定します。
      出力の文字数がこの値より少ない場合、足りない部分にスペースを補完します。
      出力の文字数がこの値より大きい場合、無視されます。
      値の代わりに * を指定すると引数から INativeInteger で取得します。
      この値は最大400です。
   
   ●精度(省略可能)
      出力の最低幅を指定します。
      整数を出力する場合、最低桁数です。
      小数を出力する場合、小数点以下の桁数です。
      値の代わりに * を指定すると引数から INativeInteger で取得します。
      この値は最大400です。
   
   ●種類
記述引数型意味
dINativeInteger10進整数
xINativeInteger16進整数(文字はa-f、符号なし扱い)
XINativeInteger16進整数(文字はA-F、符号なし扱い)
fINativeFloat小数
FINativeFloat小数(末尾0を省略)
eINativeFloat指数表記小数(e表記)
EINativeFloat指数表記小数(E表記)
gINativeFloat小数(fとeを自動切換え)
GINativeFloat小数(fとEを自動切換え)
sINativeString文字列
neditable INativeIntegerここまでに出力された文字ユニット数を出力します
pINativePointerポインタとして設定されているオブジェクトの情報

戻り値:生成された文字列を返します

INativeString format :フォーマット指定文字列
可変長引数:フォーマットで指定した順に読み取ります

先頭へ


String::#Value

public #Value( IString v)

   このオブジェクトに v を設定します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get を呼び出します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

IString v :設定する値を持つオブジェクト

先頭へ


String::#operator=

public SelfType@ #operator=( IString v)

   このオブジェクトに v を代入します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

戻り値: this を返します。

IString v :代入する値を持つオブジェクト

先頭へ


String::#operator+=

public SelfType@ #operator+=( IString v)

   このオブジェクトに v を加算代入します。
   このメソッドは v の文字列をこのオブジェクトの文字列の後ろに連結します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

戻り値: this を返します。

IString v :加算代入する値を持つオブジェクト

先頭へ


String::#operator+

public SelfType #operator+( IString v)const

   このオブジェクトに v を加算した結果を返します。
   このメソッドは v の文字列をこのオブジェクトの文字列の後ろに連結します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

戻り値:処理結果を返します。

IString v :加算する値を持つオブジェクト

先頭へ


String::#operator==

public Bool #operator==( IString v)const

   このオブジェクトと v を等価比較した結果を返します。
   このメソッドは両辺の文字列が完全に一致した場合、真を返します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

戻り値:このオブジェクトと v が等価であれば真を返します。

IString v :比較する値を持つオブジェクト

先頭へ


String::#operator<

public Bool #operator<( IString v)const

   このオブジェクトが v より小さいか比較した結果を返します。
   このメソッドは両辺の文字列を文字コード順で比較した結果を返します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

戻り値:このオブジェクトが v より小さければ真を返します。

IString v :比較する値を持つオブジェクト

先頭へ


String::#operator>

public Bool #operator>( IString v)const

   このオブジェクトが v より大きいか比較した結果を返します。
   このメソッドは両辺の文字列を文字コード順で比較した結果を返します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

戻り値:このオブジェクトが v より大きければ真を返します。

IString v :比較する値を持つオブジェクト

先頭へ


String::#operator<=

public Bool #operator<=( IString v)const

   このオブジェクトが v 以下か比較した結果を返します。
   このメソッドは両辺の文字列を文字コード順で比較した結果を返します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

戻り値:このオブジェクトが v 以下であれば真を返します。

IString v :比較する値を持つオブジェクト

先頭へ


String::#operator>=

public Bool #operator>=( IString v)const

   このオブジェクトが v 以上か比較した結果を返します。
   このメソッドは両辺の文字列を文字コード順で比較した結果を返します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

戻り値:このオブジェクトが v 以上であれば真を返します。

IString v :比較する値を持つオブジェクト

先頭へ


String::#operator!=

public Bool #operator!=( IString v)const

   このオブジェクトが v 以外か比較した結果を返します。
   このメソッドは両辺の文字列が異なる場合、真を返します。

   このメソッドは最初に v から INativeString による取得を試みます。
   これに失敗した場合、 v.Get で値を取得します。

戻り値:このオブジェクトが v 以外の値であれば真を返します。

IString v :比較する値を持つオブジェクト

先頭へ


String::#operator[]

public SelfType #operator[]( IInteger v)const

   このオブジェクトの文字列の v 番目の文字を取得します。
   v は0起算、文字数ベースで指定します。
   このメソッドは文字数と v が等しい場合空文字列を返します。

   このメソッドは最初に v から INativeInteger による取得を試みます。
   これに失敗した場合、 v.Get を呼び出します。

戻り値:指定した一文字だけの文字列を返します。
   文字列の終端が指定された場合空文字列を返します。

IInteger v :取得する文字番号

先頭へ


String::to_i

public Integer to_i()const

   このオブジェクトを整数化した結果を返します。
   
   このメソッドは文字列の先頭から10進整数として解釈できた範囲を数値に変換して返します。

戻り値:このオブジェクトを整数化した結果を返します。

先頭へ


String::to_f

public Float to_f()const

   このオブジェクトを浮動小数化した結果を返します。
   
   このメソッドは文字列の先頭から小数として解釈できた範囲を数値に変換して返します。

戻り値:このオブジェクトを浮動小数化した結果を返します。

先頭へ


String::to_s

public String to_s()const

   このオブジェクトを文字列化した結果を返します。

戻り値:このオブジェクトを文字列化した結果を返します。

先頭へ


String::Alloc

public Integer Alloc( IInteger size)

   文字列用に割り当てるメモリを拡張します。
   通常、必要な場合は自動的にメモリが拡張されるので、
   このメソッドを明示的に呼び出す必要はありません。
   
   このメソッドは非常に長い文字列を多数の連結処理で組み立てる場合、
   パフォーマンスの大幅な向上に寄与します。
   
   メモリを確保できない場合、例外が発生します。

   このメソッドは最初に size から INativeInteger による取得を試みます。
   これに失敗した場合、 size.Get を呼び出します。

戻り値:実際に割り当てられた文字ユニット単位のメモリサイズを返します。
   この値は要求した値以上であることしか保証しません。

IInteger size :要求する文字ユニット単位のメモリサイズ。1GB未満である必要があります。

先頭へ


String::Empty

public SelfType@ Empty()

   文字列用に割り当てているメモリを解放します。
   このメソッドを呼び出すと保持している文字列は削除され、空文字列になります。
   
戻り値: this を返します

先頭へ


String::GetBufferSize

public Integer GetBufferSize()const

   現在文字列用に割り当てられているメモリサイズを取得します。

戻り値:現在文字列用に割り当てられている文字ユニット単位のメモリサイズ

先頭へ


String::GetLength

public Integer GetLength()const

   現在保持している文字列の文字ユニット単位の長さを取得します。
   複数の文字ユニットで表現される文字がある場合、このメソッドの戻り値と文字数は一致しません。
   文字数ベースの長さが必要な場合 GetCharCount を使用します。

戻り値:現在保持している文字列の文字ユニット単位の長さ

先頭へ


String::GetByteLength

public Integer GetByteLength()const

   現在保持している文字列のバイト単位の長さを取得します。
   
   このメソッドは実際に使用しているバイト数を取得します。
   通常の文字列長が必要な場合は GetLength を使用してください。

戻り値:現在保持している文字列のバイト単位の長さ

先頭へ


String::HeadCompare

public Bool HeadCompare( IString str)const

   このオブジェクトの文字列の先頭が str と一致するか判定します。
   このオブジェクトの文字列の方が str より短い場合、偽を返します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:判定結果を返します。

IString str :比較する文字列

先頭へ


String::HeadCompareNoCase

public Bool HeadCompareNoCase( IString str)const

   このオブジェクトの文字列の先頭が str と大文字小文字を無視して一致するか判定します。
   このオブジェクトの文字列の方が str より短い場合、偽を返します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:判定結果を返します。

IString str :比較する文字列

先頭へ


String::LastCompare

public Bool LastCompare( IString str)const

   このオブジェクトの文字列の末尾が str と一致するか判定します。
   このオブジェクトの文字列の方が str より短い場合、偽を返します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:判定結果を返します。

IString str :比較する文字列

先頭へ


String::LastCompareNoCase

public Bool LastCompareNoCase( IString str)const

   このオブジェクトの文字列の末尾が str と大文字小文字を無視して一致するか判定します。
   このオブジェクトの文字列の方が str より短い場合、偽を返します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:判定結果を返します。

IString str :比較する文字列

先頭へ


String::Copy

public SelfType@ Copy( IString str, IInteger limit)

   このオブジェクトに str を limit 文字ユニットを上限にコピーします。
   これまでこのオブジェクトが保持していた文字列は消去されます。
   
   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値: this を返します

IString str :コピーする文字列
IInteger limit :コピー上限文字ユニット数

先頭へ


String::Concat

public SelfType@ Concat( IString str, IInteger limit)

   このオブジェクトに str を limit 文字ユニットを上限に連結します。
   limit にはこのオブジェクトが元々保持していた文字ユニット数は含みません。
   
   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値: this を返します

IString str :連結する文字列
IInteger limit :連結上限文字ユニット数

先頭へ


String::Chomp

public SelfType@ Chomp()

   このオブジェクトの文字列が改行文字で終わっていた場合、最後の改行文字を削除します。
   改行文字で終わっていなかった場合、何も起こりません。

戻り値: this を返します

先頭へ


String::Chop

public SelfType@ Chop()

   このオブジェクトの文字列から最後の1文字を削除します。
   このオブジェクトの文字列が空文字列だった場合、何も起こりません。

戻り値: this を返します

先頭へ


String::WildCompare

public Bool WildCompare( IString pattern)const

   このオブジェクトの文字列と、 str をワイルドカード処理して判定します。

   str では * は0文字以上の任意文字、 ? は1文字の任意文字として扱います。

   このメソッドは最初に pattern から INativeString による取得を試みます。
   これに失敗した場合、 pattern.Get を呼び出します。

戻り値:判定結果を返します。

IString pattern :判定するパターン文字列

先頭へ


String::Insert

public SelfType@ Insert( IString str, IInteger index)

   このオブジェクトの文字列に str を挿入します。
   index は挿入位置を文字ユニット単位で指定します。
   
   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値: this を返します

IString str :挿入する文字列
IInteger index :文字ユニット単位の挿入位置

先頭へ


String::CompareCount

public Integer CompareCount( IString str)const

   このオブジェクトの文字列と str が先頭から何文字ユニット一致するかを返します。
   
   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:先頭から一致した文字ユニット数を返します。

IString str :比較する文字列

先頭へ


String::GetAt

public String GetAt( IInteger v)const

   このオブジェクトの文字列の v 番目の文字を取得します。
   v は0起算、文字数ベースで指定します。
   このメソッドは文字数と v が等しい場合空文字列を返します。

   このメソッドは #operator[] と同じです。

   このメソッドは最初に v から INativeInteger による取得を試みます。
   これに失敗した場合、 v.Get を呼び出します。

戻り値:指定した一文字だけの文字列を返します。
   文字列の終端が指定された場合空文字列を返します。

IInteger v :取得する文字番号

先頭へ


String::Compare

public Bool Compare( IString str)const

   このオブジェクトと str の文字列が完全に一致した場合、真を返します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

   このメソッドはC/C++での !strcmp(this,str) に相当します。
   このメソッドは #operator== と同じです。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:このオブジェクトと str の文字列が完全に一致すれば真を返します。

IString str :比較する文字列

先頭へ


String::CompareNoCase

public Bool CompareNoCase( IString str)const

   このオブジェクトと str の文字列を大文字小文字を同一視して比較し、一致した場合、真を返します。
   このメソッドが同一視するのは半角アルファベットだけです。全角文字は同一視されません。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値:このオブジェクトと str の文字列が大文字小文字を同一視して一致すれば真を返します。

IString str :比較する文字列

先頭へ


String::MakeUpper

public SelfType@ MakeUpper()

   このオブジェクトの文字列内の半角小文字アルファベットを全て大文字にします。

戻り値: this を返します。

先頭へ


String::MakeLower

public SelfType@ MakeLower()

   このオブジェクトの文字列内の半角大文字アルファベットを全て小文字にします。

戻り値: this を返します。

先頭へ


String::Replace

public Integer Replace( IString repold, IString repnew)

   このオブジェクトの文字列の repold に一致する部分を repnew に置換します。
   このメソッドは該当する部分を全て置換しますが、置換部分は重複しません。

   このメソッドは最初に引数から INativeString による取得を試みます。
   これに失敗した場合、 repold.Get および repnew.Get で値を取得します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

戻り値:置換した数を返します。

IString repold :置換対象の文字列
IString repnew :置換する文字列

先頭へ


String::SymbolReplace

public Integer SymbolReplace( IString repold, IString repnew)

   このオブジェクトの文字列をプログラム識別子単位で repold を検索し、一致する部分を repnew に置換します。
   このメソッドは該当する部分を全て置換しますが、置換部分は重複しません。
   ただしこのメソッドは '' や "" をひとまとめにする機能はありません。

   このメソッドは最初に引数から INativeString による取得を試みます。
   これに失敗した場合、 repold.Get および repnew.Get で値を取得します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

戻り値:置換した数を返します。

IString repold :置換対象の文字列
IString repnew :置換する文字列

先頭へ


String::Find

public Integer Find( IString str)const

   このオブジェクトの文字列から str を検索します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最初に見つかった文字ユニット単位の位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列

先頭へ


String::SymbolFind

public Integer SymbolFind( IString str)const

   このオブジェクトの文字列からプログラム識別子単位で str を検索します。
   ただしこのメソッドは '' や "" をひとまとめにする機能はありません。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最初に見つかった文字ユニット単位の位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列

先頭へ


String::FindNoCase

public Integer FindNoCase( IString str)const

   このオブジェクトの文字列から str を大文字小文字を同一視して検索します。
   このメソッドが同一視するのは半角アルファベットだけです。全角文字は同一視されません。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最初に見つかった文字ユニット単位の位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列

先頭へ


String::SymbolFindNoCase

public Integer SymbolFindNoCase( IString str)const

   このオブジェクトの文字列からプログラム識別子単位で str を大文字小文字を同一視して検索します。
   このメソッドが同一視するのは半角アルファベットだけです。全角文字は同一視されません。
   ただしこのメソッドは '' や "" をひとまとめにする機能はありません。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最初に見つかった文字ユニット単位の位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列

先頭へ


String::ReverseFind

public Integer ReverseFind( IString str)const

   このオブジェクトの文字列から str を後方検索します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最後に文字ユニット単位の見つかった位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列

先頭へ


String::ReverseFindNoCase

public Integer ReverseFindNoCase( IString str)const

   このオブジェクトの文字列から str を大文字小文字を同一視して後方検索します。
   このメソッドが同一視するのは半角アルファベットだけです。全角文字は同一視されません。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最後に文字ユニット単位の見つかった位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列

先頭へ


String::FindDiv

public Integer FindDiv( IString str,editable String? left,editable String? right)const

   このオブジェクトの文字列から str を検索し、見つかった場合はその前後で分割した文字列を取得します。
   例えば、このオブジェクトが "012abc345abc678" の時、 str="abc" なら、 left="012" right="345abc678" が出力されます。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最初に見つかった文字ユニット単位の位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列。
editable String? left :[出力]検索にヒットした文字列より前の文字列を出力するオブジェクト。
         検索文字列が見つからなかった場合は何も変更されません。
         空参照を指定した場合は無視します。
editable String? right :[出力]検索にヒットした文字列より後の文字列を出力するオブジェクト。
         検索文字列が見つからなかった場合は何も変更されません。
         このオブジェクトをこの引数に指定することはできません。
         空参照を指定した場合は無視します。

先頭へ


String::FindNoCaseDiv

public Integer FindNoCaseDiv( IString str,editable String? left,editable String? right)const

   このオブジェクトの文字列から str を大文字小文字を同一視して検索し、見つかった場合はその前後で分割した文字列を取得します。
   例えば、このオブジェクトが "012abc345abc678" の時、 str="abc" なら、 left="012" right="345abc678" が出力されます。
   このメソッドが同一視するのは半角アルファベットだけです。全角文字は同一視されません。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最初に見つかった文字ユニット単位の位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列。
editable String? left :[出力]検索にヒットした文字列より前の文字列を出力するオブジェクト。
         検索文字列が見つからなかった場合は何も変更されません。
         空参照を指定した場合は無視します。
editable String? right :[出力]検索にヒットした文字列より後の文字列を出力するオブジェクト。
         検索文字列が見つからなかった場合は何も変更されません。
         このオブジェクトをこの引数に指定することはできません。
         空参照を指定した場合は無視します。

先頭へ


String::ReverseFindDiv

public Integer ReverseFindDiv( IString str,editable String? left,editable String? right)const

   このオブジェクトの文字列から str を後方検索し、見つかった場合はその前後で分割した文字列を取得します。
   例えば、このオブジェクトが "012abc345abc678" の時、 str="abc" なら、 left="012abc345" right="678" が出力されます。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最後に見つかった文字ユニット単位の位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列。
editable String? left :[出力]検索にヒットした文字列より前の文字列を出力するオブジェクト。
         検索文字列が見つからなかった場合は何も変更されません。
         空参照を指定した場合は無視します。
editable String? right :[出力]検索にヒットした文字列より後の文字列を出力するオブジェクト。
         検索文字列が見つからなかった場合は何も変更されません。
         このオブジェクトをこの引数に指定することはできません。
         空参照を指定した場合は無視します。

先頭へ


String::ReverseFindNoCaseDiv

public Integer ReverseFindNoCaseDiv( IString str,editable String? left,editable String? right)const

   このオブジェクトの文字列から str を大文字小文字を同一視して後方検索し、見つかった場合はその前後で分割した文字列を取得します。
   例えば、このオブジェクトが "012abc345abc678" の時、 str="abc" なら、 left="012abc345" right="678" が出力されます。
   このメソッドが同一視するのは半角アルファベットだけです。全角文字は同一視されません。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get で値を取得します。

戻り値: str が最後に見つかった文字ユニット単位の位置。
   みつからない場合は -1 を返します。

IString str :検索する文字列。
editable String? left :[出力]検索にヒットした文字列より前の文字列を出力するオブジェクト。
         検索文字列が見つからなかった場合は何も変更されません。
         空参照を指定した場合は無視します。
editable String? right :[出力]検索にヒットした文字列より後の文字列を出力するオブジェクト。
         検索文字列が見つからなかった場合は何も変更されません。
         このオブジェクトをこの引数に指定することはできません。
         空参照を指定した場合は無視します。

先頭へ


String::Format

public Integer Format( INativeString format,...)

   C/C++の sprintf とほぼ同じ書式ルールで文字列を整形し、このオブジェクトに保存します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは format 中の % で始まる書式指定と可変長引数を使って文字列を組み立てます。
   出力で % を表示したい場合は %% にエスケープする必要があります。
   書式ルール: % [フラグ] [最低幅] [.精度] 種類
   ●フラグ(省略可能)、同時に指定すると上手く動作しないフラグもあります
記述意味
-出力を左詰めします
+数値を出力する時、正の値でも + を出力します
0最低幅指定があり、出力幅が最低幅に満たない場合、スペースの代わりに0で埋めます
(スペース)数値を出力する時、正の値でもスペースを出力します
#16進数出力時に 0x が先頭に付与されます。また、小数出力時に省略を抑止します
,数値を出力する時、三桁ごとにカンマ区切りします

   ●最低幅(省略可能)
      出力の最低幅を指定します。
      出力の文字数がこの値より少ない場合、足りない部分にスペースを補完します。
      出力の文字数がこの値より大きい場合、無視されます。
      値の代わりに * を指定すると引数から INativeInteger で取得します。
      この値は最大400です。
   
   ●精度(省略可能)
      出力の最低幅を指定します。
      整数を出力する場合、最低桁数です。
      小数を出力する場合、小数点以下の桁数です。
      値の代わりに * を指定すると引数から INativeInteger で取得します。
      この値は最大400です。
   
   ●種類
記述引数型意味
dINativeInteger10進整数
xINativeInteger16進整数(文字はa-f、符号なし扱い)
XINativeInteger16進整数(文字はA-F、符号なし扱い)
fINativeFloat小数
FINativeFloat小数(末尾0を省略)
eINativeFloat指数表記小数(e表記)
EINativeFloat指数表記小数(E表記)
gINativeFloat小数(fとeを自動切換え)
GINativeFloat小数(fとEを自動切換え)
sINativeString文字列
neditable INativeIntegerここまでに出力された文字ユニット数を出力します
pINativePointerポインタとして設定されているオブジェクトの情報

戻り値:このオブジェクトに保存された文字列の文字ユニット単位の長さ

INativeString format :フォーマット指定文字列
可変長引数:フォーマットで指定した順に読み取ります

先頭へ


String::Scan

public Integer Scan( INativeString delimiter, INativeString types,...)const

   このオブジェクトの文字列を delimiter で分解し、
   分解した要素を types の指定に従って可変長引数に順次代入します。

戻り値:可変長引数に代入された要素数を返します。

INativeString delimiter :リストを分解するためのデリミタ。
INativeString types :リストの各要素の解釈方法。1要素1文字で指定します。
文字受け取る引数の型意味
*-要素を読み飛ばします
deditable INativeInteger10進整数
xeditable INativeInteger16進整数
ieditable INativeIntegerプレフィックス(なし=10進、0=8進、0x=16進)に従う整数
feditable INativeFloat小数
seditable INativeString文字列
beditable INativeBooltrueなら真、それ以外は偽
neditable INativeInteger現在の文字列の評価位置(文字ユニット単位)
この指定はリストの要素を進めません
可変長引数:分解した要素を代入するオブジェクト。
         必要な数および型は types で指定します。

先頭へ


String::Mid

public String Mid( IInteger first, IInteger count)const

   このオブジェクトの部分文字列を生成して返します。
   first の指定位置が無効な場合例外が発生します。
   count が負数、または指定位置からの残り文字列長より大きい場合、残り全ての文字列を返します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値:生成した部分文字列を返します。

IInteger first :文字ユニット単位の抽出開始位置
IInteger count :抽出する文字ユニット単位の長さ

先頭へ


String::Left

public String Left( IInteger count)const

   このオブジェクトの先頭からの部分文字列を生成して返します。
   count が負数、または文字列長より大きい場合、全ての文字列を返します。

   このメソッドは最初に count から INativeInteger による取得を試みます。
   これに失敗した場合、 count.Get を呼び出します。

戻り値:生成した部分文字列を返します。

IInteger count :抽出する文字ユニット単位の長さ

先頭へ


String::Right

public String Right( IInteger count)const

   このオブジェクトの末尾からの部分文字列を生成して返します。
   このメソッドは文字列の末尾から長さを数えます。
   count が負数、または文字列長より大きい場合、全ての文字列を返します。

   このメソッドは最初に count から INativeInteger による取得を試みます。
   これに失敗した場合、 count.Get を呼び出します。

戻り値:生成した部分文字列を返します。

IInteger count :抽出する文字ユニット単位の長さ

先頭へ


String::Regex

public Integer Regex( INativeString pattern, INativeString option,
      editable PStringArray? extract=NULL, INativeString? replace=NULL,
      editable PStringArray2D? all_extract=NULL, INativeInteger? start_index=NULL,
      editable PRegexMatchInfo? match_info=NULL)const


   独自形式の正規表現を実行します。
   この正規表現は一般的に使われるPOSIX標準などの形式との互換性はありません。指定方法は後述します。
   呼び出しのホストオブジェクトが readonly 参照から指定された場合、 replace は空参照でなければいけません。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

戻り値:マッチした数(繰り返し時のみ。繰り返しがない場合はマッチしたら1、しなければ0)

INativeString pattern :正規表現パターン文字列
INativeString option :マッチングオプション。以下の文字で指定、複数同時指定可能。
文字意味
g繰り返し
i大文字小文字を同一視する
s先頭から隙間無くマッチしなければならない
editable PStringArray? extract=NULL :[出力]有効な参照を指定すると抽出結果を保存します。
         この引数は繰り返しオプションが指定されている場合使用できません。その場合 all_extract を使用してください。
INativeString? replace=NULL :有効な参照を指定するとマッチ範囲をこの文字列で置換します。
         この文字列中では %% および %v %V 特殊文字が解釈されます。
         呼び出しホストが読み取り専用の場合、空参照でなければいけません。
editable PStringArray2D? all_extract=NULL :[出力]有効な参照を指定すると全てのマッチ時の抽出結果を保存します。
         この引数は繰り返しオプションが指定されている場合のみ使用します。
INativeInteger? start_index=NULL :有効な参照を指定すると評価を開始する文字ユニット単位の位置として扱います。
         空参照である場合、文字列の先頭から評価を開始します。
editable PRegexMatchInfo? match_info=NULL :[出力]有効な参照を指定すると全てのマッチ範囲情報を保存します。

●パターン文字列の指定方法
   特殊文字は必ず%から始まります。指定パターンは以下の通りです。
   判定指定:
   +:最短マッチにする。
   *:最長マッチにする。
   !:否定にマッチする。(マッチした場合は長さ0)
   /:純粋最長マッチにする。(その先のパターンにマッチするかチェックしない)
   最低数:最低この数後続がマッチしないとマッチしない
   最高数:この数まで後続がマッチした場合は検索を終了する。
   番号:抽出オブジェクトがある場合、その要素番号。
   繰り返しが指定されている場合、一回ごとにリセットされる。
         
   基本形:%判定指定最低数(v,V,u,U,t,hのみ番号).最低数(v,V,u,U,t,hのみ),最大数指定文字
   1.固定指定。数量子は使用不可。
   %%:%文字
   2.グループ指定。
   %(〜%):指定した範囲をまとめる。)には数量子指定不可。
   %{〜%}:指定した範囲がマッチした場合、抽出する。}には数量子指定不可。
   %[〜%]:指定した範囲のオブジェクトのうち、いずれかに該当する場合にマッチする。
          ]には数量子指定不可。
   3.通常特殊文字
   %d:10進数字(0-9)に該当。
   %D:10進数字(0-9)以外に該当。
   %x:16進数字(0-9a-f)に該当。
   %X:16進数字(0-9A-F)に該当。
   %n:16進数字(0-9a-fA-F)に該当。
   %N:16進数字(0-9a-fA-F)以外に該当。
   %a:小文字アルファベット(a-z)に該当。
   %A:大文字アルファベット(A-Z)に該当。
   %w:ホワイトスペース(\t )に該当。
   %W:ホワイトスペースと改行(\t \r\n)に該当。
   %i:ホワイトスペース(\t )以外に該当。
   %I:ホワイトスペースと改行(\t \r\n)以外に該当。
   %l:全てのアルファベット(a-zA-Z)に該当。
   %L:全てのアルファベットと数字(a-zA-Z0-9)に該当。
   %b:全てのアルファベット(a-zA-Z)以外に該当。
   %B:全てのアルファベットと数字(a-zA-Z0-9)以外に該当。
   %y:1文字ユニット記号(!"#$%&'()=~|`{+*}<>?_-^\@[;:],./)に該当。
   %Y:1文字ユニット記号(!"#$%&'()=~|`{+*}<>?_-^\@[;:],./)以外に該当。
   %k:全ての1文字ユニット可視文字(a-zA-Z0-9!"#$%&'()=~|`{+*}<>?_-^\@[;:],./)に該当。
   %K:全ての可視文字(%kに2文字ユニット文字を加えたもの)に該当。
   %c:コントロールキャラクタ(0x01-0x1f,0x7f)に該当。
   %C:改行以外の(半、全とも)1文字に該当。
   %s:プログラム識別子(a-zA-Z0-9_)に該当。
   %S:プログラム識別子(a-zA-Z0-9_)以外に該当。
   %j:全ての文字(半、全とも)1文字に該当。
   %J:全ての全角1文字に該当。
   %?:全ての半角1文字に該当。
   %g:行頭に該当。
   %G:行末に該当。
   %^:文字列の先頭に該当。
   %$:文字列の最後に該当。
   %z:次のオブジェクトに該当。(%*zaの場合、aの最長マッチになる)
   
   4.参照文字
   %v:抽出済み配列に該当。番号指定は最初が0で後に向かう。番号指定がない場合は0とみなす。
   %V:抽出済み配列に該当。番号指定は最後が0で前に向かう。番号指定がない場合は0とみなす。
   5.範囲指定
   %-:この後に続く2文字の範囲に該当する。
         2文字には特殊文字や全角文字は使えない。
         オブジェクトの範囲を取るわけではないので注意。
   6.マッチング制御
   %p:これ以降の文字列はマッチ範囲から除外される。(ただしマッチしなければマッチは失敗する)
   %P:%pに加え、この直後で文字列が終了した場合もマッチに成功する。
   %e:抽出時のみ、抽出される範囲をここで終了する。
       その後もマッチは続行、%pと組み合わせた場合は抽出範囲はこっちが優先
   7.抽出済み配列操作
   %t:最後に抽出した文字列を番号指定値に代入する。番号指定がない場合は0とみなす。
       番号指定値が抽出した総数以上の場合は指定値まで配列が増え、隙間は空文字列で埋められる。
   %T:配列の最後に空文字列を追加する。
   %h:配列の番号指定値の要素を削除する。番号指定がない場合は0とみなす。
   %H:配列の最後の要素を削除する。


先頭へ


String::RegexS

public Integer RegexS( INativeString pattern, INativeString option,
      editable String? extract=NULL, INativeString? replace=NULL,
      editable PStringArray? all_extract=NULL, INativeInteger? start_index=NULL,
      editable PRegexMatchInfo? match_info=NULL)const


   独自形式の正規表現を実行します。
   この正規表現は一般的に使われるPOSIX標準などの形式との互換性はありません。指定方法は Regex を参照してください。
   呼び出しのホストオブジェクトが readonly 参照から指定された場合、 replace は空参照でなければいけません。
   このメソッドはマッチした各回の最初の抽出結果のみを保存します。
   パターン内に抽出がひとつだけ存在する場合に便利です。それ以外の動作は Regex と同じです。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

戻り値:マッチした数(繰り返し時のみ。繰り返しがない場合はマッチしたら1、しなければ0)

INativeString pattern :正規表現パターン文字列
INativeString option :マッチングオプション。以下の文字で指定、複数同時指定可能。
文字意味
g繰り返し
i大文字小文字を同一視する
s先頭から隙間無くマッチしなければならない
editable String? extract=NULL :[出力]有効な参照を指定すると抽出結果を保存します。
         この引数は繰り返しオプションが指定されている場合使用できません。その場合 all_extract を使用してください。
INativeString? replace=NULL :有効な参照を指定するとマッチ範囲をこの文字列で置換します。
         この文字列中では %% および %v %V 特殊文字が解釈されます。
         呼び出しホストが読み取り専用の場合、空参照でなければいけません。
editable PStringArray? all_extract=NULL :[出力]有効な参照を指定すると全てのマッチ時の抽出結果を保存します。
         この引数は繰り返しオプションが指定されている場合のみ使用します。
INativeInteger? start_index=NULL :有効な参照を指定すると評価を開始する文字ユニット単位の位置として扱います。
         空参照である場合、文字列の先頭から評価を開始します。
editable PRegexMatchInfo? match_info=NULL :[出力]有効な参照を指定すると全てのマッチ範囲情報を保存します。

先頭へ


String::URLEncode

public SelfType@ URLEncode( IString str)

   str をURLエンコードしてこのオブジェクトに保存します。
   
   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値: this を返します

IString str :エンコードする文字列

先頭へ


String::URLDecode

public SelfType@ URLDecode( IString str)

   str をURLデコードしてこのオブジェクトに保存します。
   
   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値: this を返します

IString str :デコードする文字列

先頭へ


String::EscapeCancelRegex

public SelfType@ EscapeCancelRegex()

   このオブジェクトの文字列に施された正規表現用エスケープを解除します。

戻り値: this を返します

先頭へ


String::EscapeRegex

public SelfType@ EscapeRegex()

   このオブジェクトの文字列に正規表現用エスケープを施します。

戻り値: this を返します

先頭へ


String::EscapeCancelIniEx

public SelfType@ EscapeCancelIniEx()

   このオブジェクトの文字列に施された設定ファイル用エスケープを解除します。

戻り値: this を返します

先頭へ


String::EscapeIniEx

public SelfType@ EscapeIniEx()

   このオブジェクトの文字列に設定ファイル用エスケープを施します。

戻り値: this を返します

先頭へ


String::EscapeCancelHTML

public SelfType@ EscapeCancelHTML()

   このオブジェクトの文字列に施されたHTML用エスケープを解除します。

戻り値: this を返します

先頭へ


String::EscapeHTML

public SelfType@ EscapeHTML()

   このオブジェクトの文字列にHTML用エスケープを施します。

戻り値: this を返します

先頭へ


String::EscapeCancelString

public SelfType@ EscapeCancelString()

   このオブジェクトの文字列に施された文字列用エスケープを解除します。

戻り値: this を返します

先頭へ


String::EscapeString

public SelfType@ EscapeString()

   このオブジェクトの文字列に文字列用エスケープを施します。

戻り値: this を返します

先頭へ


String::FindCount

public Integer FindCount( IString str)const

   このオブジェクトの文字列内に str が何個存在するか数えます。
   このメソッドは重複する範囲も数えます。例えば、 this="aaa" で str="aa" の場合、2が返ります。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:検出された数を返します。

IString str :検索する文字列

先頭へ


String::FullPath2FileName

public Bool FullPath2FileName( IString str)

   フルパスの str からファイル名部分を抽出してこのオブジェクトに保存します。
   抽出されるファイル名に拡張子は含まれません。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:抽出に成功すると真を返します

IString str :フルパスのファイル名

先頭へ


String::FullPath2FileNameExt

public Bool FullPath2FileNameExt( IString str)

   フルパスの str からファイル名部分を抽出してこのオブジェクトに保存します。
   抽出されるファイル名には拡張子を含みます。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:抽出に成功すると真を返します

IString str :フルパスのファイル名

先頭へ


String::FileName2FullPath

public Bool FileName2FullPath( IString str)

   相対/絶対パスの str をフルパスに変換してこのオブジェクトに保存します。
   str が相対パスである場合、カレントディレクトリを使用して解決します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:処理に成功すると真を返します

IString str :処理対象のファイル名

先頭へ


String::FullPath2Dir

public SelfType@ FullPath2Dir()

   このオブジェクトの文字列をフルパスとして、ファイル名部分を削除します。

戻り値: this を返します

先頭へ


String::LoadExePath

public SelfType@ LoadExePath()

   FGES VMを実行しているEXEファイルのあるディレクトリパスをこのオブジェクトに保存します。

戻り値: this を返します

先頭へ


String::GetCharCount

public Integer GetCharCount()const

   このオブジェクトの文字列にある文字数を返します。
   このメソッドは全角文字も1文字として数えます。

戻り値:このオブジェクトの文字列にある文字数

先頭へ


String::GetLineCount

public Integer GetLineCount()const

   このオブジェクトの文字列の行数を返します。

戻り値:このオブジェクトの文字列の行数

先頭へ


String::CharIndex2AddrIndex
String::C2A


public Integer CharIndex2AddrIndex( IInteger index)const
public Integer C2A( IInteger index)const


   このオブジェクトの文字列における文字数単位の位置を文字ユニット数単位に変換します。
   指定した位置が無効であった場合、-1を返します。
   C2A は短縮名です。動作は同じです。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:変換された位置番号

IInteger index :変換する文字数単位の位置番号

先頭へ


String::CharIndex2LineIndex

public Integer CharIndex2LineIndex( IInteger index)const

   このオブジェクトの文字列における文字数単位の位置を行数単位に変換します。
   指定した位置が無効であった場合、-1を返します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:変換された行番号(0起算)

IInteger index :変換する文字数単位の位置番号

先頭へ


String::AddrIndex2CharIndex

public Integer AddrIndex2CharIndex( IInteger index)const

   このオブジェクトの文字列における文字ユニット数単位の位置を文字数単位に変換します。
   指定した位置が無効であった場合、-1を返します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:変換された位置番号

IInteger index :変換する文字ユニット数単位の位置番号

先頭へ


String::AddrIndex2LineIndex

public Integer AddrIndex2LineIndex( IInteger index)const

   このオブジェクトの文字列における文字ユニット数単位の位置を行数単位に変換します。
   指定した位置が無効であった場合、-1を返します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:変換された行番号(0起算)

IInteger index :変換する文字ユニット数単位の位置番号

先頭へ


String::LineIndex2AddrIndex

public Integer LineIndex2AddrIndex( IInteger index)const

   このオブジェクトの文字列における行数単位の位置を文字ユニット数単位に変換します。
   指定した位置が無効であった場合、-1を返します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:変換された位置番号

IInteger index :変換する行番号(0起算)

先頭へ


String::LineIndex2CharIndex

public Integer LineIndex2CharIndex( IInteger index)const

   このオブジェクトの文字列における行数単位の位置を文字数単位に変換します。
   指定した位置が無効であった場合、-1を返します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:変換された位置番号

IInteger index :変換する行番号(0起算)

先頭へ


String::Base64Decode

public Integer Base64Decode(editable INativeBinary dst)const

   このオブジェクトの文字列をBase64デコードした結果を dst に保存します。
   dst の内容は上書きされます。

戻り値:デコードされた文字ユニット数を返します。失敗した場合-1を返します。

editable INativeBinary dst :[出力]デコード結果を保存するオブジェクト

先頭へ


String::Base64Encode

public Bool Base64Encode( IBinary bin)

   bin の内容をBase64エンコードしてこのオブジェクトに保存します。

   このメソッドは最初に bin から INativeBinary による取得を試みます。
   これに失敗した場合、 bin.Get を呼び出します。

戻り値:エンコードに成功すると真を返します

IBinary bin :エンコードするバイナリデータ

先頭へ


String::BinTxtDecode

public Integer BinTxtDecode(editable INativeBinary dst)const

   このオブジェクトの文字列をBinTxtデコードした結果を dst に保存します。
   dst の内容は上書きされます。

戻り値:デコードされた文字ユニット数を返します。失敗した場合-1を返します。

editable INativeBinary dst :[出力]デコード結果を保存するオブジェクト

先頭へ


String::BinTxtEncode

public Bool BinTxtEncode( IBinary bin)

   bin の内容をBinTxtエンコードしてこのオブジェクトに保存します。

   このメソッドは最初に bin から INativeBinary による取得を試みます。
   これに失敗した場合、 bin.Get を呼び出します。

戻り値:エンコードに成功すると真を返します

IBinary bin :エンコードするバイナリデータ

先頭へ


String::ConvertToUTF8

public Integer ConvertToUTF8(editable INativeBinary dst)const

   このオブジェクトの文字列をUTF-8でエンコードした結果を dst に保存します。
   dst の内容は上書きされます。

   このメソッドはUTF-8文字列に終端文字を付与しません。
   ネイティブのUTF-8を扱う関数に渡す場合は注意してください。
   生成されたバイナリをそのままファイルに保存するとUTF-8Nのファイルとなります。

戻り値:出力された文字ユニット数を返します。失敗した場合-1を返します。

editable INativeBinary dst :[出力]エンコード結果を保存するオブジェクト

先頭へ


String::ConvertFromUTF8

public Bool ConvertFromUTF8( IBinary bin)

   bin の内容をUTF-8文字列とみなし、デコードしてこのオブジェクトに保存します。

   このメソッドは最初に bin から INativeBinary による取得を試みます。
   これに失敗した場合、 bin.Get を呼び出します。

戻り値:デコードに成功すると真を返します

IBinary bin :デコードするバイナリデータ

先頭へ


String::ConvertToUTF16

public Integer ConvertToUTF8(editable INativeBinary dst,
             INativeBool? bom=NULL, INativeBool? uc_decode=NULL)const


   このオブジェクトの文字列をUTF-16LEでエンコードした結果を dst に保存します。
   dst の内容は上書きされます。

   このメソッドはUTF-16LE文字列に終端文字を付与しません。
   ネイティブのUTF-16LEを扱う関数に渡す場合は注意してください。
   生成されたバイナリをそのままファイルに保存するとUTF-16LEのファイルとなります。
   
   このメソッドにおける %u 特殊文字の扱いはUTF-16LEとの相互変換のための範囲に限定されます。
   処理可能な指定は「16進数指定(異体字指定含む)」かつ「0x80以上」のコードポイントに限定されています。
   「単一文字指定」「0x7F以下の指定」「フォントID指定」は扱えません。

戻り値:出力された文字ユニット数を返します。失敗した場合-1を返します。

editable INativeBinary dst :[出力]エンコード結果を保存するオブジェクト
INativeBool? bom=NULL :出力データにBOMを付与するかを指定します。
         空参照を指定した場合は真を指定したものとして扱います。
INativeBool? uc_decode=NULL : %u 特殊文字(コード指定)をUnicode文字列にデコードするかを指定します。
         真を指定すると他のUnicode対応エディタ等で該当文字を読めるようになりますが、フォントID指定の情報は失われます。
         空参照を指定した場合は偽を指定したものとして扱います。

先頭へ


String::ConvertFromUTF16

public Bool ConvertFromUTF16( IBinary bin)

   bin の内容をUTF-16LE文字列とみなし、デコードしてこのオブジェクトに保存します。

   このメソッドは最初に bin から INativeBinary による取得を試みます。
   これに失敗した場合、 bin.Get を呼び出します。

戻り値:デコードに成功すると真を返します

IBinary bin :デコードするバイナリデータ

先頭へ


String::Delete

public Bool Delete( IInteger index, IInteger count)

   このオブジェクトの文字列の一部を削除します。
   削除開始位置は index に文字ユニット単位で指定し、 count 文字ユニットを削除します。
   count によって指定した範囲が文字列より長い場合、 index 以降の全ての文字列を削除します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値:削除に成功すると真を返します

IInteger index :文字ユニット単位の削除開始位置
IInteger count :削除する文字ユニット数

先頭へ


String::SpanIncluding

public String SpanIncluding( IString str)const

   このオブジェクトの文字列の先頭から、 str に含まれる文字だけで構成される範囲の文字列を抽出して返します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:抽出した文字列を返します。

IString str :抽出対象の文字集合。1文字の集合として扱います。

先頭へ


String::SpanExcluding

public String SpanExcluding( IString str)const

   このオブジェクトの文字列の先頭から、 str に含まれない文字だけで構成される範囲の文字列を抽出して返します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:抽出した文字列を返します。

IString str :抽出終了条件の文字集合。1文字の集合として扱います。

先頭へ


String::SpanIncludingCount

public Integer SpanIncludingCount( IString str, IInteger start_index)const

   このオブジェクトの文字列の start_index から探索を開始し、
   str に含まれる文字だけで構成される範囲の文字ユニット数単位の位置を返します。
   返される位置は文字列の先頭から数えた位置です。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値:探索結果の位置を返します。

IString str :探索対象の文字集合。1文字の集合として扱います。
IInteger start_index :文字ユニット数単位の探索開始位置。

先頭へ


String::SpanExcludingCount

public Integer SpanExcludingCount( IString str, IInteger start_index)const

   このオブジェクトの文字列の start_index から探索を開始し、
   str に含まれない文字だけで構成される範囲の文字ユニット数単位の位置を返します。
   返される位置は文字列の先頭から数えた位置です。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値:探索結果の位置を返します。

IString str :探索対象の文字集合。1文字の集合として扱います。
IInteger start_index :文字ユニット数単位の探索開始位置。

先頭へ


String::TrimLeft

public SelfType@ TrimLeft( IString str="\t \n")

   このオブジェクトの文字列先頭から str に含まれる文字を削除します。
   このメソッドは str に含まれない文字を見つけると処理を終了します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値: this を返します。

IString str :削除対象の文字集合。1文字の集合として扱います。

先頭へ


String::TrimRight

public SelfType@ TrimRight( IString str="\t \n")

   このオブジェクトの文字列末尾から str に含まれる文字を削除します。
   このメソッドは文字列の末尾から処理し、 str に含まれない文字を見つけると処理を終了します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値: this を返します。

IString str :削除対象の文字集合。1文字の集合として扱います。

先頭へ


String::HalfChar2FullChar

public SelfType@ HalfChar2FullChar()

   このオブジェクトの文字列に含まれる半角文字を全角文字に変換します。
   このメソッドで変換されるのは英数字とスペースだけです。

戻り値: this を返します。

先頭へ


String::FullChar2HalfChar

public SelfType@ FullChar2HalfChar()

   このオブジェクトの文字列に含まれる全角文字を半角文字に変換します。
   このメソッドで変換されるのは英数字とスペースだけです。

戻り値: this を返します。

先頭へ


String::LoadClipBoardText

public Bool LoadClipBoardText()

   システムのクリップボードに文字列がある場合、それをこのオブジェクトに保存します。
   クリップボードに文字列がない場合、失敗します。
   
   文字列はCRLF改行です。必要な場合 Replace("\r\n","\n") で変換してください。
   
   注:クリップボードはWindows全体のデータ共有機構です。
      クリップボードへのアクセスは全てのアプリケーションで共有されます。

戻り値:文字列を取得できた場合真を返します。

先頭へ


String::Prune

public SelfType@ Prune( IInteger index)

   このオブジェクトの文字列を指定位置で打ち切り、以降を削除します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値: this を返します。

IInteger index :文字ユニット単位の打ち切る位置。

先頭へ


String::HexToInt

public Integer HexToInt()const

   このオブジェクトの文字列を16進数文字列として解釈し、数値変換した結果を返します。
   変換した結果が Integer 型に収まらない場合、下位64ビット分を返します。

戻り値:変換結果を返します。

先頭へ


String::ParseInt

public Integer ParseInt()const

   このオブジェクトの文字列の先頭が 0x である場合、
   このオブジェクトの文字列を16進数文字列として解釈し、数値変換した結果を返します。
   それ以外の場合、このオブジェクトの文字列を10進数文字列として解釈し、数値変換した結果を返します。
   変換した結果が Integer 型に収まらない場合、下位64ビット分を返します。

戻り値:変換結果を返します。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2023/01/30