Menu
CoddyTech

분리와 결합

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

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