提供:Japanese Scratch-Wiki

2019年10月22日 (火) 12:42時点におけるApple502j (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する

文字列を指定した文字で分割する方法を紹介する。

チュートリアル

ここでは、文字列を指定した文字、文字列で分割していく方法を紹介する。(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

各部分の説明

Document stub.png この項目は、書きかけの項目です。この項目に加筆・訂正などをしてくださる協力者を求めています。

検索

((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の文字数分繰り返していく。

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。