[トップ][編集][ノート][編集履歴][一覧][最近の更新][->English]

文章を切り抜くモジュール

文章を切り抜くモジュール

        /*
        p1 文章の開始を示す特徴文
        p2 元の文章が入った変数
        p3 文章の終了を示す特徴文
        p4 何個目を調べるか

        文字列の中から特定の文字列で囲まれた文字列を切り抜きます。
        instrとstrmidで行っていた作業を自動化しているだけです。
        p4は一定のルールで並べられたデータを整形するときに使います。
        主に、htmlに対して使うことを想定しています。
        基本的には0で問題ありません。
        */
        #defcfunc cat str str1 ,str str2 ,str str3,int ct
                ct2=ct
                開始文字数 = strlen(str1)
                終了文字数 = strlen(str3)
                開始=str1
                文字列=str2
                終了=str3
                開始in=0
                終了in=0
                repeat ct2+1
                        開始in = instr(文字列,開始in,開始)+開始文字数+開始in
                loop
                終了in = instr(文字列,開始in,終了)+開始in
                最終=strmid(文字列,開始in,終了in-開始in)
                return 最終

        /*
        パラメーターはcatと同じ。

        特定の文字列を削除します。
        */
        #defcfunc delcat str str1 ,str str2 ,str str3
                開始文字数 = strlen(str1)
                全体文字数 = strlen(str2)
                終了文字数 = strlen(str3)
                開始=str1
                最終=""
                文字列=str2
                終了=str3
                開始in=0
                repeat
                        開始in = instr(文字列,0,開始)
                        if 開始in!-1:{                            
                                        終了in = instr(文字列,開始in,終了)+開始in
                                                if 終了in!-1:{
                                                        文字列=""+strmid(文字列,0,開始in)+""+strmid(文字列,終了in+終了文字数,全体文字数)+""
                                                }else:break
                                }else:break
                loop
                return 文字列
#global
文字列="HSPとは、ホット スープ スクリプトの、略です。"
mes 文字列
mes cat("、",文字列,"の、",0)
mes delcat("、",文字列,"の、")
mes delcat("ク",delcat("プ ",delcat(" ス",delcat("ホ",文字列,"ッ")," ス")," プ "),"プ")