Thay thế và xóa khoảng trắng
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 3 trên 78.
replace(what, with) trả về một chuỗi mới, trong đó mọi chỗ xuất hiện của what đều được thay bằng with. Thay bằng một chuỗi rỗng sẽ xóa văn bản:
var phone := "555-123-4567"
print(phone.replace("-", ""))
print(phone.replace("-", " "))
print(phone)5551234567
555 123 4567
555-123-4567Chuỗi ban đầu không thay đổi. replace() phân biệt chữ hoa chữ thường; replacen() làm cùng việc và không phân biệt chữ hoa chữ thường:
var chat := "Hello hello HELLO"
print(chat.replace("hello", "hi"))
print(chat.replacen("hello", "hi"))Hello hi HELLO
hi hi hiVăn bản người dùng nhập thường có khoảng trắng thừa ở hai đầu. strip_edges() xóa khoảng trắng, tab và ký tự xuống dòng ở cả hai đầu, đồng thời giữ nguyên chúng ở giữa:
var typed := " Ana Lee "
print("[" + typed.strip_edges() + "]")[Ana Lee]strip_edges(true, false) chỉ xóa khoảng trắng ở đầu chuỗi và strip_edges(false, true) chỉ xóa khoảng trắng ở cuối chuỗi. Để xóa một đoạn văn bản cụ thể ở đầu hoặc cuối chuỗi, hãy dùng trim_prefix() hoặc trim_suffix(). Các hàm này không thay đổi gì nếu không có đoạn văn bản đó:
print("level_03.tscn".trim_suffix(".tscn"))
print("level_03.tscn".trim_suffix(".png"))level_03
level_03.tscnMỗi phương thức này trả về một chuỗi, nên bạn có thể nối chúng lại: raw.strip_edges().to_lower().replace(" ", "_").
Thử thách
DễChương trình đọc tiêu đề cấp độ vào title. Chuyển tiêu đề thành một slug, phiên bản của tiêu đề có thể dùng làm tên tệp, rồi in ra. Theo thứ tự này:
- Xóa khoảng trắng ở cả hai đầu
- Chuyển thành chữ thường
- Thay từng khoảng trắng còn lại bằng
- - Xóa mọi
!,?và.
Với đầu vào Is Godot Fun? (có khoảng trắng ở hai đầu), đầu ra là:
is-godot-funTự làm thử
extends Node
func _ready():
var title := OS.read_string_from_stdin()
# Tạo slug rồi in ra
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