Menu
CoddyTech

Замена и обрезка пробелов

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

replace(what, with) возвращает новую строку, в которой каждое вхождение what заменено на with. Замена на пустую строку удаляет текст:

var phone := "555-123-4567"
print(phone.replace("-", ""))
print(phone.replace("-", " "))
print(phone)
5551234567
555 123 4567
555-123-4567

Исходная строка не меняется. replace() учитывает регистр; replacen() выполняет ту же задачу и игнорирует регистр:

var chat := "Hello hello HELLO"
print(chat.replace("hello", "hi"))
print(chat.replacen("hello", "hi"))
Hello hi HELLO
hi hi hi

В тексте, введённом пользователем, часто есть лишние пробелы по краям. strip_edges() удаляет пробелы, табуляции и переносы строк с обоих концов и сохраняет те, что находятся посередине:

var typed := "   Ana Lee  "
print("[" + typed.strip_edges() + "]")
[Ana Lee]

strip_edges(true, false) удаляет пробелы только с левого края, а strip_edges(false, true) — только с правого. Чтобы удалить определённый текст с края, используй trim_prefix() или trim_suffix(). Они ничего не меняют, если такого текста нет:

print("level_03.tscn".trim_suffix(".tscn"))
print("level_03.tscn".trim_suffix(".png"))
level_03
level_03.tscn

Каждый из этих методов возвращает строку, поэтому их можно объединять в цепочку: raw.strip_edges().to_lower().replace(" ", "_").

challenge icon

Задание

Легко

Программа считывает название уровня в title. Преобразуй его в слаг — версию названия, которую можно использовать как имя файла, — и выведи его. В таком порядке:

  1. Удали пробелы с обоих концов
  2. Преобразуй текст в нижний регистр
  3. Замени каждый оставшийся пробел на -
  4. Удали все !, ? и .

Для ввода Is Godot Fun? (с пробелами вокруг) вывод будет таким:

is-godot-fun

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

extends Node

func _ready():
	var title := OS.read_string_from_stdin()
	# Сформируйте слаг и выведите его
quiz iconПроверьте себя

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

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

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