Menu
CoddyTech

文字列の反復処理 その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
challenge icon

チャレンジ

簡単

プログラムは2行を読み込みます。1行目はtext、2行目はseparatorです。

  1. スペースでtextを単語に分割します。単語は複数のスペースで区切られている場合があり、先頭や末尾にスペースがある場合もあります。空の要素は除外してください。
  2. 単語を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()
	# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ