メインコンテンツまでスキップ
バージョン: 20 R7 BETA

Substring

Substring ( source ; firstChar {; numChars} ) -> 戻り値

引数説明
sourceText一部を取り出す文字列
firstCharInteger最初の文字位置
numCharsInteger取り出す文字列の長さ
戻り値Text文字列の一部

説明

Substring コマンドは、firstCharnumCharsで指定した部分文字列をsourceから取り出して返します。

firstCharには文字列の中で取り出す文字列の最初の文字の位置を指定し、numCharsには取り出す文字列の長さを指定します。

firstCharnumCharsの和が、文字列自身の文字数よりも大きい場合やnumCharsを指定しない場合には、 Substring は先頭文字位置以降の文字列をすべて取り出します。firstCharが文字列の長さより大きいと、Substring は空の文字列("") を返します。

警告: このコマンドをマルチスタイルのコンテキストで使用する場合、正常に処理するためにはWindowsの改行文字 ('\r\n')を全て単一の文字 ('\r')に変換する必要があります。これは、マルチプラットフォームの互換性を保証するために4Dの行末を標準化するための機構によるものです。詳細な情報に関しては、行末の自動標準化 を参照して下さい。

例題 1

Substringコマンドの使用例を次に示します。結果を変数 vsResultに代入します。コメントは、変数 vsResultに代入される内容についての説明です。

 vsResult:=Substring("08/04/62";4;2) // vsResultは"04"
 vsResult:=Substring("Emergency";1;6) // vsResultは"Emerge"
 vsResult:=Substring(var;2) //vsResult は一文字目を除いた全て

例題 2

以下のプロジェクトメソッドは、テキスト(最初の引数で指定) 中に見つかった段落を文字列またはテキスト配列(2番目の引数としてポインタを渡す) に追加します。

  // EXTRACT PARAGRAPHS
  // EXTRACT PARAGRAPHS ( text ; Pointer )
  // EXTRACT PARAGRAPHS ( Text to parse ; -> 文字列配列 )
 
 var $1 : Text
 var $2 : Pointer
 
 $vlElem:=Size of array($2->)
 Repeat
    $vlElem:=$vlElem+1
    INSERT IN ARRAY($2->;$vlElem)
    $vlPos:=Position(Char(Carriage return);$1)
    If($vlPos>0)
       $2->{$vlElem}:=Substring($1;1;$vlPos-1)
       $1:=Substring($1;$vlPos+1)
    Else
       $2->{$vlElem}:=$1
    End if
 Until($1="")

参照

Position