HTML convert time to 0.042 sec.


エクステンション解説/String Parser 2/コマンド解説

Last-modified: 2011-12-24 (土) 22:30:55

解説と言うかヘルプの翻訳。 Edit


String Parser 2

作成者Third Eye Entertainment
バージョン2.02

String Parser 2 オブジェクトは、強力な構文解析や、文字列を小分けしトークンのリストとして扱ったり、文字列を組み立てる機能をデベロッパーに提供します。構文解析やサブ文字列機能で、要所ずつに分けたり、ワイルドカードやサブ文字列を使って検索もできます。特にトークン化機能で入り組んだ情報を簡単にできます。

リスト(list)とは、区切り記号によって区切られたトークンの文字列です。トークン(token)とは、他のトークンまたはサブ文字列から分断された簡単なサブ文字列です。区切り記号(delimiter)とは、文字列を区切るものです。String Parser 2 はいくつもの区切り記号を扱うことができ、区切り記号の長さは自由に出来、ワイルドカードマッチングも扱えます。

ここでは例として、文中に単語がいくつあるか知りたいとします。

リストの例として次の文を使います。

Sean was here. Hey guys! See how we can spell D-E-L-I-M-E-T-E-R-S... wait--did you hear that?

区切り文字は次のようにします。
" "
"."
","
"!"
"?"
"--"

例文では上記の6種類の区切り文字が必要です。ドキュメント全体を調べたい場合は";", ":", などの他の句読点も含めるようにしてください。

さて、ListGetAt$("String Parser", 3")と要求すると"here"が返ってきます。ほら、3番目の単語が返ってきたよ?すごいでしょ?ちょっと特殊な場合、ワイルドカードを有効にした場合に ListFind("String Parser", "?-E*", 1) と要求すると 11 が返ってきます、なぜならこのワイルドカードの数式に、11番目のトークン"D-E-L-I-M-E-T-E-R-S"が。最初(1)にマッチするからです。以下にトークン(単語!)の完全なリストを書き出します。

1) "Sean"
2) "was"
3) "here"
4) "Hey"
5) "guys"
6) "See"
7) "how"
8) "we"
9) "can"
10) "spell"
11) "D-E-L-I-M-E-T-E-R-S"
12) "wait"
13) "did"
14) "you"
15) "hear"
16) "that"

ListCount("String Parser")を実行したら 16 が返ってくるよ ;)

特徴

  • 旧 String Parser の特徴にさらに多くのものを加えました
  • 保持したり操作したりするテキストの量に制限はありません
  • ファイルを読み込んだりファイルに書き込んだりできます(テキスト、CSV、INI、MMF配列、Dynamic Array)
  • 文字列比較で大文字と小文字を区別したり区別しなくしたりできます
  • 簡単に探索のワイルドカードを有効/無効にできます。使えるワイルドカードは以下のものです。
    • ? は1文字にマッチします
    • * は0文字以上にマッチします
  • トークンリストに使う区切り記号の数に制限はありません
  • トークンリストに使う区切り記号の長さに制限はありません
  • New URLEncode関数とIs URL Safe条件
  • 15個のトークンリスト関数!ListFind, ListContains, ListSortAsc, などなど
  • トークンリスト関数でワイルドカードを使えます
  • コンマ区切りテキストファイル(CSV)をエクスポート、インポートできます
  • MMF 1.5配列ファイルをエクスポート、インポートできます。MMF Pre-1.5配列ファイルをインポートできます
  • Dynamic Array 2 ファイルをエクスポート、インポートできます
  • New INIファイルフォーマットでエクスポート、インポートできます
  • ソース文字列のMD5署名を得ることができ、証明やチェックサムに使えます

条件 Edit

Is URL Safe? Edit

構文Is URL Safe
コメントソース文字列を URL 内で使ってもよい場合、真を返します。URL 内で使ってもよい文字列とは、URL で無効な文字はエスケープされている文字列のことです。*1
Is URL Safe

アクション Edit

Set source string Edit

構文Set source string to szString
コメントソース文字列を指定した文字列に変更します。String Parser のほとんどのアクションや数式がこのソース文字列上で動作します。
Set source string to "my test string"
引数引数説明
szString文字列任意のテキスト

File Edit

Save to file Edit

構文Save to file szFilename
コメント指定したファイルに文字列を保存します。
Save to file "myfile.txt"
引数引数説明
szFilename文字列ファイルへのパス。

Load from file Edit

構文Load from file szFilename
コメント指定したファイルから新しい文字列を読み込みます。
Load from file "myfile.txt"
引数引数説明
szFilename文字列ファイルへのパス。

Append from file Edit

構文Append from file szFilename
コメントファイルの内容をソース文字列に読み込みます。ソース文字列にテキストがある場合、その後ろに読み込んだ文字列を加えます。
Append from file "myfile.txt"
引数引数説明
szFilename文字列ファイルへのパス。

Append to file Edit

構文Append to file szFilename
コメントファイルの末尾に文字列を加えるように文字列を保存します。
Append to file "myfile.txt"
引数引数説明
szFilename文字列ファイルへのパス。

List Tokenizing>Delimiters Edit

Reset delimiters Edit

構文Reset delimiters
コメント現行のすべての区切り記号を削除します。
Reset delimiters

Add delimiter Edit

構文Add delimiter szDelimiter
コメント指定した区切り記号を現行の区切り記号のリストに追加します。区切り記号の長さは自由で、ワイルドカードが有効の場合、区切り記号にワイルドカードを使用できます。
Add delimiter ","
引数引数説明
szDelimiter文字列区切り記号。トークン(サブ文字列)の区切りに使う文字列。

Set delimiter Edit

構文Set delimiter to szDelimiter at nIndex
コメント指定したインデックスの区切り記号を指定した区切り記号に変更します。現行の区切り記号を削除し、同じインデックスの位置に新しい区切り記号を作成します。ワイルドカードが有効の場合、区切り記号にワイルドカードを使用できます。
Set delimiter to "+" at 0
引数引数説明
szDelimiter文字列区切り記号。トークン(サブ文字列)の区切りに使う文字列。
nIndex整数値リストのインデックス番号。

Delete delimiter index Edit

構文Delete delimiter at index nIndex
コメント指定したインデックスの位置にある区切り記号を削除します。
Delete delimiter at index 2
引数引数説明
nIndex整数値リストのインデックス番号。

Delete delimiter Edit

構文Delete delimiter szDelimiter
コメント指定した区切り記号を削除します。以降この区切り記号はトークンの区切りに使われません。
Delete delimiter " "
引数引数説明
szDelimiter文字列区切り記号。トークン(サブ文字列)の区切りに使う文字列。

Set default delimiter index Edit

構文Set default delimiter at index nIndex
コメント指定したインデックスの区切り記号をデフォルトの区切り記号にします。デフォルトの区切り記号は、トークンのリストに要素を追加したときに挿入されます。
Set default delimiter at index 0
引数引数説明
nIndex整数値リストのインデックス番号。

Set default delimiter Edit

構文Set default delimiter to szDelimiter
コメント指定した区切り記号をデフォルトの区切り記号に設定します。指定する区切り記号は前もって Add delimiter アクションや Set delimiter アクションで作成した区切り記号でなければなりません。
Set default delimiter to "_"
引数引数説明
szDelimiter文字列区切り記号。トークン(サブ文字列)の区切りに使う文字列。

List Tokenizing>Files Edit

Save as CSV Edit

構文Save as CSV szFilename
コメントコンマ区切りテキストファイルとして文字列を保存します。
Save as CSV "myfile.csv"
引数引数説明
szFilename文字列ファイルへのパス。

Load from CSV Edit

構文Load from CSV szFilename
コメントコンマ区切りテキストファイルを新たにソース文字列に読み込みます。
Load from CSV "myfile.csv"
引数引数説明
szFilename文字列ファイルへのパス。

Save as MMF Array Edit

構文Save as MMF Array szFilename
コメントMMF 1.5 配列フォーマットで文字列を保存します。
Save as MMF Array "myfile.arr"
引数引数説明
szFilename文字列ファイルへのパス。

Load from MMF Array Edit

構文Load from MMF Array szFilename
コメントMMF 配列ファイルを新たにソース文字列に読み込みます。
Load from MMF Array "myfile.arr"
引数引数説明
szFilename文字列ファイルへのパス。

Save as Dynamic Array Edit

構文Save as Dynamic Array szFilename
コメントDynamic Array file として文字列を保存します。
Save as Dynamic Array "myfile.dar"
引数引数説明
szFilename文字列ファイルへのパス。

Load from Dynamic Array Edit

構文Load from Dynamic Array szFilename
コメントDynamic Array file を新たにソース文字列に読み込みます。
Load from Dynamic Array "myfile.dar"
引数引数説明
szFilename文字列ファイルへのパス。

Save as INI Edit

構文Save as INI szFilename
コメント要素のリストを INI ファイルとして保存します。すべての要素がグループ "List" 下にあり、Elements という項目にリスト内の要素数が入ります。リストの要素はそれぞれ "Element1"、"Element2"、…という名の項目に入れられます。
Save as INI "myfile.ini"
引数引数説明
szFilename文字列ファイルへのパス。

Load from INI Edit

構文Load from INI szFilename
コメントすべての項目の(等号の右側にある)値を、デフォルトの区切り記号で区切ったリストとしてソース文字列に読み込みます。*2
Load from INI "myfile.ini"
引数引数説明
szFilename文字列ファイルへのパス。

Settings > String Comparisons Edit

Case Insensitive (A == a) Edit

構文Comparisons are case insensitive
コメント文字列の比較演算で大文字と小文字を区別しないようにします。
Comparisons are case insensitive.

Case Sensitive (A < a) Edit

構文Comparisons are case sensitive
コメント文字列の比較演算で大文字と小文字を区別するようにします。
Comparisons are case sensitive

Settings>Search Mode Edit

Literal Edit

構文Disable wildcards
コメント文字列の比較演算でワイルドカードを使用しないようにします。
Disable wildcards

Wildcards Edit

構文Enable wildcards
コメント文字列の比較演算でワイルドカードを使用するようにします。literal search よりも少し遅くなりますが、1文字にマッチする ? や複数文字にマッチする * を使用できます。
Enable wildcards

数式 Edit

Get string Edit

構文string$(szObject)
コメントソース文字列を返します。
string$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Get length of string Edit

構文length(szObject)
コメント文字列の長さを返します。*3
length("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Set string, return "" Edit

構文set$(szObject, szString)
コメントソース文字列を変更し、空文字列を返します。この数式はアクションなしにソース文字列を変更したい場合に、他の数式の頭に加えて使えます。空文字列を返すので組み込まれた文字列を変更することはありません。
set$("String Parser", "new source string")
引数引数説明
szObject文字列オブジェクト名。
szString文字列任意のテキスト。

Set string, return 0 Edit

構文set(szObject, szString)
コメントソース文字列を変更し、0 を返します。の数式はアクションなしにソース文字列を変更したい場合に、他の数式の頭に加えて使えます。0 を返すので加えられた値を変更することはありません。
set("String Parser", "new source string")
引数引数説明
szObject文字列オブジェクト名。
szString文字列任意のテキスト。

Substrings Edit

Left substring Edit

構文leftstr$(szObject, nBytes)
コメント文字列の文頭から nBytes 個の文字列を返します。
leftstr$("String Parser", 3)
引数引数説明
szObject文字列オブジェクト名。
nBytes整数値バイト数または文字数

Right substring Edit

構文rightstr$(szObject, nBytes)
コメント文字列の文末から nBytes 個の文字列を返します。
rightstr$("String Parser", 3)
引数引数説明
szObject文字列オブジェクト名。
nBytes整数値バイト数または文字数

Middle substring Edit

構文midstr$(szObject, nStart, nBytes)
コメントnStart から始まる nBytes の長さのサブ文字列を返します。ソース文字列の末尾を過ぎるようなサブ文字列を取得しようとすると空文字列を返します。
midstr$("String Parser", 4, 2)
引数引数説明
szObject文字列オブジェクト名。
nStart整数値始める位置。
nBytes整数値バイト数または文字数

Get number of substrings Edit

構文numberOfSub(szObject, szFind)
コメント指定したサブ文字列が出現する数を返します。この関数はワイルドカードが使えます。
numberOfSub("String Parser", "hello")
引数引数説明
szObject文字列オブジェクト名。
szFind文字列探すサブ文字列。

Get index of substring Edit

構文indexOfSub(szObject, szFind, nCount)
コメント指定したサブ文字列がnCount番目に出現する位置を返します。この関数はワイルドカードが使えます。
indexOfSub("String Parser", "hey", 1)
引数引数説明
szObject文字列オブジェクト名。
szFind文字列探すサブ文字列。
nCount整数値nCount番目に出現。

Get index of first substring Edit

構文firstSub(szObject, szFind)
コメント指定したサブ文字列が最初に出現する位置を返します。この関数はワイルドカードが使えます。
firstSub("String Parser", "hey")
引数引数説明
szObject文字列オブジェクト名。
szFind文字列探すサブ文字列。

Get index of last substring Edit

構文lastSub(szObject, szFind)
コメント指定したサブ文字列が最後に出現する位置を返します。この関数はワイルドカードが使えます。
lastSub("String Parser", "hey")
引数引数説明
szObject文字列オブジェクト名。
szFind文字列探すサブ文字列。

Remove substrings Edit

構文remove$(szObject, szFind)
コメント指定したサブ文字列を全て削除した文字列を返します。この関数はワイルドカードが使えます。
remove$("String Parser", "guys")
引数引数説明
szObject文字列オブジェクト名。
szFind文字列探すサブ文字列。

Replace substrings Edit

構文replace$(szObject, szFind, szNew)
コメント指定したサブ文字列を全て新しいサブ文字列に置換した文字列を返します。この関数はワイルドカードが使えます。
replace$("String Parser", "-old-", "new")
引数引数説明
szObject文字列オブジェクト名。
szFind文字列探すサブ文字列。
szNew文字列新しいサブ文字列。

Insert substring Edit

構文insert$(szObject, szNew, nStart)
コメント指定した位置に指定したサブ文字列を挿入した文字列を返します。
insert$("String Parser", "nn", 3)
引数引数説明
szObject文字列オブジェクト名。
szNew文字列新しいサブ文字列。
nStart整数値始める位置。

Transform Edit

Reverse string Edit

構文reverse$(szObject)
コメント反転させた文字列を返します。最初の文字は最後になり、最後の文字は最初にきます。*4
reverse$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Uppercase string Edit

構文uppercase$(szObject)
コメント全て大文字にした文字列を返します。
uppercase$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Lowercase string Edit

構文lowercase$(szObject)
コメント全て小文字にした文字列を返します。
lowercase$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

URL Encoded string Edit

構文urlEncode$(szObject)
コメントURL で無効な文字をエスケープしてURLで読み込めるようにした文字列を返します。*5
urlEncode$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

ASCII Edit

Get ASCII character Edit

構文chr$(szObject, nASCII)
コメント指定した10進数値を置き換えたASCII文字を返します。
chr$("String Parser", 60)
引数引数説明
szObject文字列オブジェクト名。
nASCII整数値ASCII文字にしたいASCII番号

Get ASCII value Edit

構文asc(szObject, szASCII)
コメント指定したASCII文字を数値に置き換えたものを返します。
asc("String Parser", "c")
引数引数説明
szObject文字列オブジェクト名。
szASCII文字列ASCII文字列、最初の1文字だけが計算されます。

Get ASCII value list Edit

構文ascList$(szObject, szDelimiter)
コメントソース文字列の文字のASCII番号を一つずつ指定した区切り記号で区切ってリストにした文字列を返します。
ascList$("String Parser", ",")
引数引数説明
szObject文字列オブジェクト名。
szDelimiter文字列区切り記号。トークン(サブ文字列)の区切りに使う文字列。

List Tokenizing > Delimiters Edit

Get number of delimiters Edit

構文numberOfDelims(szObject)
コメント現在の区切り文字の数を返します。
numberOfDelims("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Get delimiter Edit

構文getDelim$(szObject, nIndex)
コメント区切り記号配列の指定したインデックスにある区切り記号を返します。
getDelim$("String Parser", 0)
引数引数説明
szObject文字列オブジェクト名。
nIndex整数値リストのインデックス番号。

Get delimiter index Edit

構文getDelimIndex(szObject, szDelimiter)
コメント指定した区切り記号の区切り記号配列内のインデックスを返します。
getDelimIndex("String Parser", " ")
引数引数説明
szObject文字列オブジェクト名。
szDelimiter文字列区切り記号。トークン(サブ文字列)の区切りに使う文字列。

Get default delimiter Edit

構文getDefDelim$(szObject)
コメントデフォルトの区切り文字を返します。
getDefDelim$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Get default delimiter index Edit

構文getDefDelimIndex(szObject)
コメントデフォルトの区切り文字のインデックスを返します。
getDefDelimIndex("String Parser")
引数引数説明
szObject文字列オブジェクト名。

List Tokenizing Edit

Get number of elements Edit

構文listCount(szObject)
コメントリストの要素の数を返します。
listCount("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Set element Edit

構文listSetAt$(szObject, szElement, nIndex)
コメント指定した位置を指定した要素で置き換えたリストを返します。
listSetAt$("String Parser", "Sean", 3)
引数引数説明
szObject文字列オブジェクト名。
szElement文字列リストの要素となる文字列、トークン(またはサブ文字列)と呼ばれる。要素は区切り文字によって区切られています。
nIndex整数値リストのインデックス番号。

Insert element Edit

構文listInsertAt$(szObject, szElement, nIndex)
コメント指定した位置に指定した要素を挿入したリストを返します。
listInsertAt$("String Parser", "Sean", 1)
引数引数説明
szObject文字列オブジェクト名。
szElement文字列リストの要素となる文字列、トークン(またはサブ文字列)と呼ばれる。要素は区切り文字によって区切られています。
nIndex整数値リストのインデックス番号。

Append element Edit

構文listAppend$(szObject, szElement)
コメント指定した要素を末尾に追加したリストを返します。
listAppend$("String Parser", "testing")
引数引数説明
szObject文字列オブジェクト名。
szElement文字列リストの要素となる文字列、トークン(またはサブ文字列)と呼ばれる。要素は区切り文字によって区切られています。

Prepend element Edit

構文listPrepend$(szObject, szElement)
コメント指定した要素を先頭に追加したリストを返します。
listPrepend$("String Parser", "tested!")
引数引数説明
szObject文字列オブジェクト名。
szElement文字列リストの要素となる文字列、トークン(またはサブ文字列)と呼ばれる。要素は区切り文字によって区切られています。

Get element Edit

構文listGetAt$(szObject, nIndex)
コメントリストの指定した位置の要素を返します。
listGetAt$("String Parser", 9)
引数引数説明
szObject文字列オブジェクト名。
nIndex整数値リストのインデックス番号。

Get first element Edit

構文listFirst$(szObject)
コメントリストの先頭の要素を返します。
listFirst$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Get last element Edit

構文listLast$(szObject)
コメントリストの末尾の要素を返します。
listLast$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Find element matching Edit

構文listFind(szObject, szFind, nCount)
コメント指定した文字列がnCount番目に現れる位置のインデックスを返します。探す文字列は要素と完全一致でなければなりません。この関数はワイルドカードが使えます。
listFind("String Parser", "b*ing", 1)
引数引数説明
szObject文字列オブジェクト名。
szFind文字列探すサブ文字列。
nCount整数値nCount番目に出現。

Find element containing Edit

構文listContains(szObject, szFind, nCount)
コメント指定したサブ文字列含まれる要素がnCount番目に現れる位置のインデックスを返します。要素に部分一致すればマッチします。この関数はワイルドカードが使えます。
listContains("String Parser, "Hey", 2)
引数引数説明
szObject文字列オブジェクト名。
szFind文字列探すサブ文字列。
nCount整数値nCount番目に出現。

Delete element Edit

構文listDeleteAt$(szObject, nIndex)
コメント指定した要素を削除したリストを返します。
listDeleteAt$("String Parser", 7)
引数引数説明
szObject文字列オブジェクト名。
nIndex整数値リストのインデックス番号。

Swap elements Edit

構文listSwap$(szObject, nIndex, nIndex2)
コメント2つの指定した要素を入れ替えたリストを返します。
listSwap$("String Parser", 2, 4)
引数引数説明
szObject文字列オブジェクト名。
nIndex整数値リストのインデックス番号。
nIndex2整数値リストのインデックス番号。

Sort elements ascending Edit

構文listSortAsc$(szObject)
コメント要素を昇順に並べ替えたリストを返します。
listSortAsc$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Sort elements descending Edit

構文listSortDesc$(szObject)
コメント要素を降順に並べ替えたリストを返します。
listSortDesc$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

Change delimiters Edit

構文listChangeDelims$(szObject, szDelimiter)
コメント現行の全ての区切り記号を指定した区切り記号に置き換えたリストを返します。指定する区切り記号は現行の区切り記号でなくても構いません。
listChangeDelims$("String Parser", "+")
引数引数説明
szObject文字列オブジェクト名。
szDelimiter文字列区切り記号。トークン(サブ文字列)の区切りに使う文字列。

Filters Edit

Get MD5 Signature Edit

構文mdFive$(szObject)
コメントソース文字列の32バイト16進数MD5署名を返します。MD5署名は、非可逆ハッシュアルゴリズムを用いて生成されたユニークな文字列であり、文字列やバイナリが変更されていない証明になります。
mdFive$("String Parser")
引数引数説明
szObject文字列オブジェクト名。

使用方法 Edit

CSVとして読み込みたい場合 Edit

CSVとして読み込みたい場合は先にデリミタを指定する
デリミタ指定してからCSVとしてロードすれば読めるはず

  • 1:デリミタ指定
  • 2:CSVをロード
  • 3:お好きな処理





*1 2バイト文字には対応していません。
*2 あらかじめデフォルトの区切り記号を設定しておかないと強制終了します。
*3 2バイト文字は2文字に数えられます。
*4 1バイトを1文字としているので、当然、2バイト文字は正しく反転されません。
*5 2バイト文字には対応していません。