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ềtruenếu đoạn văn bản xuất hiện ở bất kỳ vị trí nào, giống nhưinbegins_with(text)vàends_with(text)chỉ kiểm tra phần đầu hoặc phần cuốifind(text)trả về chỉ số nơi đoạn văn bản xuất hiện lần đầu tiên, hoặc-1nếu nó không xuất hiệnrfind(text)trả về chỉ số của lần xuất hiện cuối cùngcount(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
3find() 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
14Cá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().
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,.orghoặ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à:
validTự 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ệ
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
1Chuyên sâu về chuỗi
Các phương thức của chuỗiTìm kiếm trong chuỗiThay thế và xóa khoảng trắngTách và nốiÔn tập: Kiểm tra tên người dùng7Kiểu liệt kê
Kiểu liệt kê là gì?Định nghĩa kiểu liệt kêCác giá trị của kiểu liệt kêKiểu liệt kê trong matchÔn tập: đèn giao thông10Hàm nâng cao
Trả về nhiều giá trịHàm lambda phần 1Hàm lambda phần 2Ôn tập: sắp xếp bằng lambdaHàm đệ quy phần 1Hàm đệ quy phần 2Ôn tập: tính tổng mảng lồng nhau13Hệ thống quản lý hàng tồn kho
Tổng quan dự ánThêm mặt hàng2Ra quyết định nâng cao
So khớp với biếnĐiều kiện bảo vệ trong so khớpMẫu mảngMẫu từ điểnKiểm tra thành viênÔn tập: Bộ phân tích lệnh5Ứng dụng sổ liên lạc
Hiển thị menuThêm liên hệ8Trình quản lý hồ sơ học sinh
Tổng quan dự ánThêm học sinh3Mảng nhiều chiều
Cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập: mảng 2 chiềuMảng răng cưaCác mẫu phổ biến với mảng 2 chiềuÔn tập: bàn cờ6Tập hợp với từ điển
Tập hợp là gì?Từ điển như một tập hợpThêm và xóaHợp và giaoHiệu tập hợpÔn tập: Xóa phần tử trùng lặp9Tổng hợp dữ liệu nâng cao
Tính tổng các giá trịTìm giá trị nhỏ nhất và lớn nhấtSắp xếp tùy chỉnhÔn tập: Sắp xếp từ điểnTự luyện tập: Trình biên dịch GDScript online