Menu
CoddyTech

Iterowanie po ciągach znaków — część 2

Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 72 z 92.

Metoda split() dzieli ciąg znaków przy każdym wystąpieniu separatora i zwraca jego części jako tablicę:

var data := "john,25,new york"
var parts := data.split(",")
print(parts)
["john", "25", "new york"]

Wynikiem jest PackedStringArray, kompaktowa tablica zawierająca wyłącznie ciągi znaków. Możesz ją indeksować, iterować po niej i wyświetlać ją tak jak każdą tablicę: parts[1] to "25".

Gdy separator występuje kilka razy z rzędu, split() zwraca puste ciągi znaków pomiędzy nimi. Przekaż false jako drugi argument, aby pominąć puste elementy:

print("I   love   coding".split(" "))
print("I   love   coding".split(" ", false))
["I", "", "", "love", "", "", "coding"]
["I", "love", "coding"]

Metoda join() działa odwrotnie: wywołuje się ją na ciągu znaków separatora i łączy elementy tablicy ciągów znaków w jeden ciąg znaków:

var words := ["Hello", "World", "Godot"]
print(" ".join(words))
print(",".join(words))
Hello World Godot
Hello,World,Godot
challenge icon

Wyzwanie

Łatwy

Program odczytuje dwa wiersze: text i separator.

  1. Podziel text na słowa w miejscach spacji. Słowa mogą być oddzielone kilkoma spacjami, a na początku lub na końcu mogą znajdować się spacje: pomiń puste elementy.
  2. Połącz słowa za pomocą separator i wypisz wynik.

Dla danych wejściowych Hello world godot i - wynik to:

Hello-world-godot

Spróbuj swoich sił

extends Node

func _ready():
	var text := OS.read_string_from_stdin()
	var separator := OS.read_string_from_stdin()
	# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator GDScript online