Menu
CoddyTech

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-4567

Chuỗ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 hi

Vă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.tscn

Mỗ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(" ", "_").

challenge icon

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:

  1. Xóa khoảng trắng ở cả hai đầu
  2. Chuyển thành chữ thường
  3. Thay từng khoảng trắng còn lại bằng -
  4. 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-fun

Tự làm thử

extends Node

func _ready():
	var title := OS.read_string_from_stdin()
	# Tạo slug rồi in ra
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