Menu
CoddyTech

바꾸기와 공백 제거

Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 3번째.

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 컴파일러