문자열에서 검색하기
Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 2번째.
in 연산자는 문자열 안에 텍스트가 있는지 알려 줍니다. 예 또는 아니요보다 더 많은 정보가 필요하다면 문자열의 검색 메서드를 사용하세요.
contains(text)는in처럼 텍스트가 어디에든 있으면true를 반환합니다.begins_with(text)와ends_with(text)는 시작 또는 끝 부분만 확인합니다.find(text)는 텍스트가 처음 나타나는 인덱스를 반환하며, 텍스트가 없으면-1을 반환합니다.rfind(text)는 마지막으로 나타나는 위치의 인덱스를 반환합니다.count(text)는 텍스트가 나타나는 횟수를 반환합니다.
var email := "alice@coddy.tech"
print(email.begins_with("alice"))
print(email.ends_with(".tech"))
print(email.find("@"))
print(email.find("x"))
print(email.count("c"))true
true
5
-1
3find()는 선택적 두 번째 인수를 받습니다. 검색을 시작할 인덱스입니다. 이미 찾은 항목 다음에 나오는 항목을 찾을 때 사용하세요:
var text := "one fish, two fish"
var first := text.find("fish")
print(first)
print(text.find("fish", first + 1))4
14이 메서드들은 대소문자를 구분합니다: "Hello".contains("hello")는 false입니다. 먼저 문자열을 to_lower()로 변환하거나, 대소문자를 구분하지 않는 버전인 findn(), containsn(), countn()을 사용하세요.
챌린지
쉬움프로그램은 이메일 주소를 email에 읽어들입니다. 다음 규칙을 모두 만족하는지 확인하세요.
@가 정확히 하나 포함되어 있습니다.@로 시작하지 않습니다.- 공백이 포함되어 있지 않습니다.
- 대문자와 소문자를 어떤 조합으로 사용하든
.com,.org또는.tech로 끝납니다.
모든 규칙을 만족하면 valid를 출력하고, 그렇지 않으면 invalid를 출력합니다. 입력이 alice@CODDY.TECH일 때 출력은 다음과 같습니다.
valid직접 해보기
extends Node
func _ready():
var email := OS.read_string_from_stdin()
# valid 또는 invalid를 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 GDScript 컴파일러