■4251 / inTopicNo.1) |
For〜Nextの拡張、関数色々 投稿
|
□投稿者/ TomTom -(2005/05/30(Mon) 13:48:54) [ID:NXyOvuTn]
| omTomです。
ZOC関連への機能追加は投稿したものが本体に反映されてからのほうが都合が良いので、 その間に細々とした関数の追加など行いたいと思います。
正規表現の機能を追加しましたが、通常のプログラミング経験の無い方には理解しにくいでしょうか。 とりあえずは「Like演算子のスゴイやつ」位に考えていただければ良いかと思います。
それでは、問題点等のご意見よろしくお願いします。
なお、「ついでにこんな関数も追加しろ」というようなものがあれば、 ムチャなものでない限り追加しようかと考えています。
追加・変更内容は以下の通りです。
○For〜Nextコマンド Basicと同じようにStep句が使用できるように変更 例)For i = 1 To 10 Step 2 このような場合に、iの数を2ずつ加算してループ
○InStr関数、InStrB関数 書式を拡張 書式)InStr(文字列1,文字列2[,開始位置]) //InStrBも同様 [開始位置]に数値を設定することで、[文字列2]を検索する開始位置を指定できるように変更 (省略時は従来どおり文字列の先頭から) 例)InStr("あいうえおえういあ","う",4)は 7 を返す
○InStrRev関数、InStrRevB関数 文字列の後ろから検索するInStr関数 書式)InStrRev(文字列1,文字列2[,開始位置]) //InStrRevBも同様 [文字列1]の後ろから[文字列2]を検索し、左から数えた位置を返す(InStrRevBはバイト単位) InStrと同様に、[開始位置]で開始位置の指定が出来る(左から数えた位置で指定) 例)InStrRev("あいうえおえういあ","う")は 7 を返す 例)InStrRev("あいうえおえういあ","う", 4)は 3 を返す
○Replace関数追加 文字列を置換する 書式)Replace(文字列1,文字列2,文字列3) [文字列1]の中から[文字列2]を検索し、それらを全て[文字列3]に変換する 例)Replace("abcdefabcdef","cde","CDE")は「abCDEfabCDEf」を返す ○String関数追加 文字列を繰り返す 書式)String(回数,文字列) [文字列]を[回数]回繰り返した文字列を返す 例)String(3,"abc")は「abcabcabc」を返す
○LSearch関数追加 リストの中から要素を検索し、その位置を返す 書式)LSearch(リスト, 検索値, [開始位置]) [リスト]の要素の中から[検索値]を検索しその位置を返す。無ければ0を返す [開始位置]が指定されている場合は、そのインデックスの要素から検索を開始する 例)LSearch("abc def ghi","def")は 2 を返す 例)LSearch("abc (def ghi)","def")は 0 を返す 例)LSearch("abc def ghi","def",3)は 0 を返す
○RegExp関数追加 正規表現によって文字列を検索する 書式)RegExp(文字列, パターン[,大小区別あり|大小区別なし] RegExp() [文字列]の中から正規表現パターン[パターン]に当てはまる文字列を検索して返す 「大小区別あり」「大小区別なし」は英字の大小を区別するかどうかを指定 (デフォルトは「大小区別あり」) 引数に何も指定しなかった場合、パターンに合致した次の文字列を返す 例)RegExp("あいあうあえあお","あ.")は「あい」を返す。続けて RegExp()と指定した場合、次にパターンに合致する「あう」を返す
○RegExpReplace関数追加 正規表現によって文字列を置換する 書式)RegExpReplace(文字列, 検索パターン, 置換パターン[,大小区別あり|大小区別なし] [文字列]の中から正規表現パターン[検索パターン]に当てはまる文字列を検索し、 [置換パターン]で変換した結果を返す 「大小区別あり」「大小区別なし」は英字の大小を区別するかどうかを指定 (デフォルトは「大小区別あり」) 例)RegExpReplace("あいあうあえあお", "うあ", "ウア")「あいあウアえあお」 例)RegExpReplace("あいあうあえあお", "あ(.)あ", "ア$1$1ア")「アいいアうアええアお」
※正規表現の扱いには多少の知識が必要となります。[パターン]の設定には以下のURLを参考にしてください。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/vspropattern.asp
|
|