文字列の反復処理 その2
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 72/92。
split()メソッドは、区切り文字が現れるたびに文字列を分割し、各部分を配列として返します。
var data := "john,25,new york"
var parts := data.split(",")
print(parts)["john", "25", "new york"]結果はPackedStringArrayです。文字列のみを格納するコンパクトな配列です。ほかの配列と同様に、インデックスでアクセスしたり、ループ処理したり、出力したりできます。parts[1]は"25"です。
区切り文字が連続して何度も現れる場合、split() はその間に空文字列を返します。空の要素を除外するには、2つ目の引数として false を渡します。
print("I love coding".split(" "))
print("I love coding".split(" ", false))["I", "", "", "love", "", "", "coding"]
["I", "love", "coding"]join()メソッドはその逆の働きをします。区切り文字列に対して呼び出し、文字列の配列の要素を結合して1つの文字列にします。
var words := ["Hello", "World", "Godot"]
print(" ".join(words))
print(",".join(words))Hello World Godot
Hello,World,Godotチャレンジ
簡単プログラムは2行を読み込みます。1行目はtext、2行目はseparatorです。
- スペースで
textを単語に分割します。単語は複数のスペースで区切られている場合があり、先頭や末尾にスペースがある場合もあります。空の要素は除外してください。 - 単語を
separatorで結合し、結果を出力します。
入力がHello world godotと-の場合、出力は次のとおりです。
Hello-world-godot自分で試してみよう
extends Node
func _ready():
var text := OS.read_string_from_stdin()
var separator := OS.read_string_from_stdin()
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ