Menu
CoddyTech

Tìm kiếm trong chuỗi

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 2 trên 78.

Toán tử in cho bạn biết một đoạn văn bản có xuất hiện trong chuỗi hay không. Khi bạn cần biết nhiều hơn ngoài có hoặc không, chuỗi có các phương thức tìm kiếm:

  • contains(text) trả về true nếu đoạn văn bản xuất hiện ở bất kỳ vị trí nào, giống như in
  • begins_with(text) và ends_with(text) chỉ kiểm tra phần đầu hoặc phần cuối
  • find(text) trả về chỉ số nơi đoạn văn bản xuất hiện lần đầu tiên, hoặc -1 nếu nó không xuất hiện
  • rfind(text) trả về chỉ số của lần xuất hiện cuối cùng
  • count(text) trả về số lần đoạn văn bản xuất hiện
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
3

find() nhận một đối số thứ hai không bắt buộc: chỉ số bắt đầu tìm kiếm. Dùng đối số này để tìm lần xuất hiện tiếp theo sau lần bạn đã tìm thấy:

var text := "one fish, two fish"
var first := text.find("fish")
print(first)
print(text.find("fish", first + 1))
4
14

Các phương thức (method) này phân biệt chữ hoa chữ thường: "Hello".contains("hello") là false. Trước tiên, hãy chuyển chuỗi thành chữ thường bằng to_lower(), hoặc dùng các phiên bản không phân biệt chữ hoa chữ thường: findn(), containsn() và countn().

challenge icon

Thử thách

Dễ

Chương trình đọc một địa chỉ email vào email. Kiểm tra xem địa chỉ đó có đáp ứng tất cả các quy tắc sau không:

  • Địa chỉ có chính xác một ký tự @
  • Địa chỉ không bắt đầu bằng @
  • Địa chỉ không chứa khoảng trắng
  • Địa chỉ kết thúc bằng .com, .org hoặc .tech, với chữ hoa và chữ thường xen kẽ tùy ý

In ra valid khi địa chỉ đáp ứng mọi quy tắc, nếu không thì in ra invalid. Với đầu vào alice@CODDY.TECH, đầu ra là:

valid

Tự làm thử

extends Node

func _ready():
	var email := OS.read_string_from_stdin()
	# In ra hợp lệ hoặc không hợp lệ
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch GDScript online