提供: Japanese Scratch-Wiki

(あ。)
21行目: 21行目:
 
でなければ
 
でなければ
 
[分割後 v] の ([分割後 v] の長さ::list) 番目を (([分割後 v] の ([分割後 v] の長さ::list) 番目::list) と ((target) の (検索開始位置) 番目の文字::operation)) で置き換える::list
 
[分割後 v] の ([分割後 v] の長さ::list) 番目を (([分割後 v] の ([分割後 v] の長さ::list) 番目::list) と ((target) の (検索開始位置) 番目の文字::operation)) で置き換える::list
 +
[検索開始位置 v] を (1) ずつ変える
 
end
 
end
 
end
 
end
44行目: 45行目:
 
でなければ
 
でなければ
 
[分割後 v] の ([分割後 v] の長さ::list) 番目を (([分割後 v] の ([分割後 v] の長さ::list) 番目::list) と ((target) の (検索開始位置) 番目の文字::operation)) で置き換える::list
 
[分割後 v] の ([分割後 v] の長さ::list) 番目を (([分割後 v] の ([分割後 v] の長さ::list) 番目::list) と ((target) の (検索開始位置) 番目の文字::operation)) で置き換える::list
 +
[検索位置 v] を (1) ずつ変える
 
end
 
end
 
</scratchblocks>
 
</scratchblocks>

2019年10月22日 (火) 13:33時点における版

このきじは ひらがなのページがありません。ごめんなさい。

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

チュートリアル

ここでは、文字列を指定した文字、文字列で分割していく方法を紹介する。(JavaScriptでいうsplitメソッドのような)

定義 (target) を (keyword) で分割 //targetが分割される文字列、keywordが分割する文字列
[分割後 v] のすべてを削除する::list //分割した後の結果はここに入ってます
[] を [分割後 v] に追加する
[検索開始位置 v] を (1) にする
((target) の長さ) 回繰り返す
[一時抽出 v] を[] にする
[抽出番号 v] を (検索開始位置) にする
((keyword) の長さ) 回繰り返す
[一時抽出 v] を ((一時抽出) と ((target) の (抽出番号) 番目の文字::operation)) にする
[抽出番号 v] を (1) ずつ変える
end
もし < (keyword) = (一時抽出)> なら
[検索開始位置 v] を ((keyword) の長さ) ずつ変える
[] を [分割後 v] に追加する
でなければ
[分割後 v] の ([分割後 v] の長さ::list) 番目を (([分割後 v] の ([分割後 v] の長さ::list) 番目::list) と ((target) の (検索開始位置) 番目の文字::operation)) で置き換える::list
[検索開始位置 v] を (1) ずつ変える
end
end

各部分の説明

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

検索

((target) の長さ) 回繰り返す
[一時抽出 v] を[] にする
[抽出番号 v] を (検索開始位置) にする
((keyword) の長さ) 回繰り返す
[一時抽出 v] を ((一時抽出) と ((target) の (抽出番号) 番目の文字::operation)) にする
[抽出番号 v] を (1) ずつ変える
end

この部分でまず、分割したい文字列から、「nからn+keywordの文字数までの文字列」を抽出している。このチュートリアルでは「一時抽出」という変数のことである。

分割処理

もし < (keyword) = (一時抽出)> なら
[検索開始位置 v] を ((keyword) の長さ) ずつ変える
[] を [分割後 v] に追加する
でなければ
[分割後 v] の ([分割後 v] の長さ::list) 番目を (([分割後 v] の ([分割後 v] の長さ::list) 番目::list) と ((target) の (検索開始位置) 番目の文字::operation)) で置き換える::list
[検索位置 v] を (1) ずつ変える
end

次に、「一時抽出」の文字がkeywordと同じか調べる。

同じならばそこで分割し、異なるならば次の処理にうつっていく。

これをtargetの文字数分繰り返していく。