바꾸기와 공백 제거
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(" ", "_").
챌린지
쉬움프로그램은 레벨 제목을 title에 읽어 들입니다. 이를 파일 이름으로 사용할 수 있는 제목의 형태인 슬러그로 변환하고 출력하세요. 다음 순서대로 진행합니다:
- 양 끝의 공백을 제거합니다
- 소문자로 변환합니다
- 남은 공백을 모두
-로 바꿉니다 !,?,.를 모두 제거합니다
입력이 Is Godot Fun? (양쪽에 공백이 있음)일 때 출력은 다음과 같습니다:
is-godot-fun직접 해보기
extends Node
func _ready():
var title := OS.read_string_from_stdin()
# 슬러그를 만들고 출력합니다
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 GDScript 컴파일러