提供:Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
文字列を指定した文字で分割する方法を紹介する。
チュートリアル
ここでは、文字列を指定した文字、文字列で分割していく方法を紹介する。(JavaScriptでいうsplitメソッドのような)
定義 (target) を (keyword) で分割 //targetが分割される文字列、keywordが分割する文字列 [分割後 v] のすべてを削除する::list //分割した後の結果はここに入ってます [] を [分割後 v] に追加する [検索開始位置 v] を (1) にする ((target) の長さ) 回繰り返す [一時抽出 v] を[] にする [抽出番号 v] を (検索開始位置) にする ((keyword) の長さ) 回繰り返す [一時抽出 v] を ((一時抽出) と ((target) の (抽出番号) 番目の文字::operators)) にする [抽出番号 v] を (1) ずつ変える end もし < (keyword) = (一時抽出)> なら [検索開始位置 v] を ((keyword) の長さ) ずつ変える [] を [分割後 v] に追加する でなければ [分割後 v] の ([分割後 v] の長さ::list) 番目を (([分割後 v] の ([分割後 v] の長さ::list) 番目::list) と ((target) の (検索開始位置) 番目の文字::operators)) で置き換える::list [検索開始位置 v] を (1) ずつ変える end end
各部分の説明
![]() |
この項目は、書きかけの項目です。この項目に加筆・訂正などをしてくださる協力者を求めています。
|
検索
((target) の長さ) 回繰り返す [一時抽出 v] を[] にする [抽出番号 v] を (検索開始位置) にする ((keyword) の長さ) 回繰り返す [一時抽出 v] を ((一時抽出) と ((target) の (抽出番号) 番目の文字::operators)) にする [抽出番号 v] を (1) ずつ変える end
この部分でまず、分割したい文字列から、「nからn+keywordの文字数までの文字列」を抽出している。このチュートリアルでは「一時抽出」という変数のことである。
分割処理
もし < (keyword) = (一時抽出)> なら [検索開始位置 v] を ((keyword) の長さ) ずつ変える [] を [分割後 v] に追加する でなければ [分割後 v] の ([分割後 v] の長さ::list) 番目を (([分割後 v] の ([分割後 v] の長さ::list) 番目::list) と ((target) の (検索開始位置) 番目の文字::operators)) で置き換える::list [検索位置 v] を (1) ずつ変える end
次に、「一時抽出」の文字がkeywordと同じか調べる。
同じならばそこで分割し、異なるならば次の処理にうつっていく。
これをtargetの文字数分繰り返していく。