Разделение и объединение
Часть раздела Логика и потоки выполнения путешествия по 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".
Задание
ЛегкоПрограмма считывает одну строку слов, разделённых запятыми, в line. Вокруг слов могут быть пробелы, например red, green ,blue.
Выведите три строки:
- Количество слов
- Слова без пробелов вокруг них, в верхнем регистре, соединённые с помощью
>(пробел, знак «больше», пробел) - Самое длинное слово без пробелов. Если несколько слов имеют одинаковую длину, выведите первое из них
Для входных данных red, green ,blue вывод будет таким:
3
RED > GREEN > BLUE
greenПопробуйте сами
extends Node
func _ready():
var line := OS.read_string_from_stdin()
# Выведите количество, объединённые слова и самое длинное слово
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и потоки выполнения
1Строки: углублённое изучение
Методы строкПоиск в строкахЗамена и обрезка пробеловРазделение и объединениеПовторение — проверка имени пользователя4Словари. Часть 2
Вложенные словариМассивы словарейОбъединение словарейКопирование словарейПовторение — подсчёт частоты10Продвинутые функции
Возврат нескольких значенийЛямбда-функции. Часть 1Лямбда-функции. Часть 2Повторение — сортировка с помощью лямбда-функцииРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного массива13Система управления запасами
Обзор проектаДобавление товара2Продвинутое управление ветвлением
Сопоставление с переменнымиУсловия в шаблонахШаблоны массивовШаблоны словарейПроверка принадлежностиИтоги — парсер команд5Приложение «Телефонная книга»
Показать менюДобавить контакт8Менеджер успеваемости студентов
Обзор проектаДобавить студента3Многомерные массивы
Основы двумерных массивовДоступ к элементам двумерного массиваВложенные циклы с двумерными массивамиПовторение: двумерные массивыРваные массивыТипичные шаблоны работы с двумерными массивамиПовторение: игровое поле6Множества и словари
Что такое множество?Словарь как множествоДобавление и удалениеОбъединение и пересечениеРазность множествПовторение — удаление дубликатовПотренируйтесь самостоятельно: Онлайн-компилятор GDScript