Trong bài này, bạn sẽ học cách xử lý chuỗi ký tự – hay nói cách khác, làm việc với văn bản. Trong lập trình thực tế, việc thao tác với chuỗi là vô cùng phổ biến: tên người dùng, email, mật khẩu, câu hỏi, văn bản từ file… tất cả đều là string.
Mục tiêu bài học
- Hiểu khái niệm và cách khai báo chuỗi
- Nắm được các thao tác cơ bản với chuỗi: nối, cắt, đếm, duyệt từng ký tự
- Biết dùng các hàm xử lý chuỗi có sẵn trong Python
- Ứng dụng trong xử lý đầu vào, văn bản, định dạng dữ liệu
Chuỗi là gì?
Chuỗi (string) là một dãy ký tự, được đặt trong dấu ngoặc kép "..."
hoặc '...'
.
Ví dụ:
ten = "Nguyễn Văn An"
loi_chao = 'Chào bạn'
Bạn có thể xem chuỗi như một danh sách các ký tự, có thể duyệt từng ký tự như một mảng.
Các thao tác cơ bản
a. Nối chuỗi (concatenation)
ho = "Nguyễn"
ten = "An"
hoten = ho + " " + ten
print(hoten) # Nguyễn An
Dấu
+
dùng để nối chuỗi, không phải cộng số
b. Nhân chuỗi
print("Hello " * 3)
# Kết quả: Hello Hello Hello
c. Truy cập từng ký tự
name = "Python"
print(name[0]) # P
print(name[-1]) # n (ký tự cuối)
d. Duyệt chuỗi bằng for
s = "hello"
for ch in s:
print(ch)
Một số hàm và phương thức xử lý chuỗi
a. Độ dài chuỗi: len()
s = "hello"
print(len(s)) # 5
b. Chuyển hoa – thường
s = "Python"
print(s.upper()) # PYTHON
print(s.lower()) # python
c. Xoá khoảng trắng
s = " xin chao "
print(s.strip()) # "xin chao"
print(s.lstrip()) # "xin chao "
print(s.rstrip()) # " xin chao"
d. Tìm kiếm và đếm
s = "hello world"
print(s.find("world")) # 6
print(s.find("abc")) # -1 (không thấy)
print(s.count("l")) # 3
e. Thay thế chuỗi
s = "I love Python"
print(s.replace("Python", "coding"))
# Kết quả: I love coding
f. Kiểm tra bắt đầu, kết thúc
filename = "report.pdf"
print(filename.endswith(".pdf")) # True
print(filename.startswith("rep")) # True
g. Tách và nối chuỗi
chuoi = "a,b,c"
ds = chuoi.split(",") # ['a', 'b', 'c']
print(ds)
noi_lai = "-".join(ds) # 'a-b-c'
print(noi_lai)
Một số ứng dụng thực tế
- Làm sạch dữ liệu đầu vào từ người dùng
- Kiểm tra email có đúng định dạng
.com
không - Tách từ trong một câu văn
- Đếm tần suất ký tự hoặc từ xuất hiện
- Thay thế từ trong văn bản
Bài tập luyện tập
Bài tập 1: Nhập họ tên từ bàn phím, in ra họ, tên đệm, tên riêng (gợi ý: dùng split()
)
Bài tập 2: Nhập một câu bất kỳ. Đếm xem có bao nhiêu ký tự thường, bao nhiêu ký tự hoa.
Bài tập 3: Viết chương trình nhập chuỗi, kiểm tra:
- Có bắt đầu bằng “hello” không?
- Có kết thúc bằng “.com” không?
- Có chứa dấu cách không?
Bài tập 4: Nhập 1 dòng văn bản, đếm số lần từ “python” xuất hiện (không phân biệt hoa thường)
Ghi nhớ
- Chuỗi là kiểu dữ liệu quan trọng, xuất hiện rất thường xuyên
- Có thể truy cập từng ký tự giống như mảng
- Phần lớn thao tác được hỗ trợ qua các hàm sẵn có rất tiện lợi
Kết luận
Làm chủ chuỗi giúp bạn xử lý đầu vào đầu ra linh hoạt, làm việc với dữ liệu văn bản, file, và xử lý giao diện người dùng. Đây là kỹ năng nền tảng cho mọi lĩnh vực: từ tự động hóa, phân tích dữ liệu đến web và trí tuệ nhân tạo.
Bài học tiếp theo chúng ta sẽ tìm hiểu cách lưu trữ nhiều giá trị trong một biến, ví dụ: danh sách học sinh, các số điểm, danh sách từ… và cách thao tác trên các danh sách đó một cách hiệu quả.
Thảo luận