Menu
CoddyTech

Разделение и объединение

Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 4 из 78.

Ты уже разделял строки с помощью split() и объединял массивы с помощью join(). Обе функции умеют больше.

Элементы результата split() — это строки, в точности соответствующие фрагментам между разделителями, включая пробелы. Очисти или преобразуй каждый элемент, прежде чем использовать его. Элемент результата можно заменить по его индексу:

var items := "sword, shield ,bow".split(",")
print(items)
for i in range(items.size()):
	items[i] = items[i].strip_edges()
print(items)
["sword", " shield ", "bow"]
["sword", "shield", "bow"]

Второй аргумент split() вам уже знаком: true сохраняет пустые части, false удаляет их. Третий аргумент ограничивает количество разбиений. split(" ", true, 1) выполняет разбиение только по первому пробелу, отделяя команду от остальной части строки:

print("say hello there".split(" ", true, 1))
["say", "hello there"]

rsplit() работает так же, но отсчитывает разделители справа, поэтому может разделить строку по последней точке в имени файла:

print("save.backup.json".rsplit(".", true, 1))
["save.backup", "json"]

join() также принимает массив чисел и преобразует каждое из них в текст: ", ".join([3, 1, 2]) — это "3, 1, 2".

challenge icon

Задание

Легко

Программа считывает одну строку слов, разделённых запятыми, в line. Вокруг слов могут быть пробелы, например red, green ,blue.

Выведите три строки:

  1. Количество слов
  2. Слова без пробелов вокруг них, в верхнем регистре, соединённые с помощью > (пробел, знак «больше», пробел)
  3. Самое длинное слово без пробелов. Если несколько слов имеют одинаковую длину, выведите первое из них

Для входных данных red, green ,blue вывод будет таким:

3
RED > GREEN > BLUE
green

Попробуйте сами

extends Node

func _ready():
	var line := OS.read_string_from_stdin()
	# Выведите количество, объединённые слова и самое длинное слово
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript