Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Các hàm sử lý chuỗi trong Python
Trong bài này, mình sẽ giới thiệu cho các bạn một chủ đề quan trọng trong Python - các hàm sử lý chuỗi. Chuỗi là một loại dữ liệu phổ biến trong lập trình, và việc làm việc hiệu quả với chuỗi là một kỹ năng quan trọng mà mọi lập trình viên cần nắm vững.
Các hàm sử lý chuỗi trong Python cung cấp các công cụ mạnh mẽ để cắt, ghép, thay thế, và biến đổi chuỗi theo nhu cầu của bạn. Bằng cách sử dụng các phương thức và phép toán đơn giản, ta có thể thực hiện nhiều tác vụ khác nhau như tìm kiếm ký tự, đếm độ dài, chuyển đổi chữ hoa/chữ thường, và nhiều hơn nữa.
Hãy cùng tìm hiểu các hàm sử lý chuỗi trong Python qua bài viết này.
Cú pháp và cách khai báo chuỗi trong Python
Trước khi bạn tìm hiểu các phương thức và thao tác sử lý chuỗi trong Python, hãy tìm hiểu về cách khởi tạo chuỗi và các cú pháp cơ bản liên quan.
Bài viết này được đăng tại [free tuts .net]
Để khởi tạo một chuỗi trong Python, bạn có thể sử dụng dấu nháy đơn ('') hoặc dấu nháy kép (""). Ví dụ:
str_1 = 'Đây là một chuỗi sử dụng dấu nháy đơn.' str_2 = "Đây là một chuỗi sử dụng dấu nháy kép."
Bạn cũng có thể sử dụng dấu nháy ba (''' ''') hoặc dấu nháy ba kép (""" """) để khởi tạo chuỗi đa dòng (multiline string). Ví dụ:
str_da_dong = '''Đây là một chuỗi đa dòng. Dòng thứ hai trong chuỗi. Dòng thứ ba trong chuỗi.'''
Python cũng hỗ trợ việc truyền biến vào chuỗi sử dụng phép toán % hoặc hàm format(). Ví dụ:
ten = "Alice" str_format = "Xin chào, %s!" % ten str_fstrings = f"Xin chào, {ten}!"
Trong ví dụ trên, %s
hoặc {ten}
được sử dụng để đại diện cho giá trị biến ten trong chuỗi.
Đó là các cú pháp cơ bản để khởi tạo chuỗi trong Python. Bây giờ bạn đã sẵn sàng để tiếp tục tìm hiểu các hàm và thao tác sử lý chuỗi trong Python.
Các hàm xử lý chuỗi trong Python thường dùng
Cắt chuỗi (Slicing)
Cú pháp cắt chuỗi
Trong Python, mình có thể cắt một chuỗi thành một phần tử hoặc một phần của chuỗi gốc bằng cú pháp slicing. Cú pháp chung để cắt chuỗi là chuỗi[start:end:step]
.
start
: Vị trí bắt đầu cắt (được tính từ 0, nếu là số âm, nghĩa là tính từ phần tử cuối cùng của chuỗi).end
: Vị trí kết thúc cắt (không bao gồm phần tử này).step
(tùy chọn): Bước nhảy, mặc định là 1.
Ví dụ minh họa:
str= "Xin chào các bạn" # Lấy một phần của chuỗi phần_tử = str[4]; print(phần_tử) # Output: 'c' # Lấy một phần của chuỗi từ vị trí 4 đến vị trí 9 phần_cắt = str[4:9] ;print(phần_cắt) # Output: 'chào ' # Lấy một phần của chuỗi từ vị trí -4 đến vị trí cuối cùng phần_cắt_âm = str[-4:] ;print(phần_cắt_âm) # Output: 'bạn' # Lấy một phần của chuỗi với bước nhảy là 2 phần_cắt_bước_nhảy = str[1:10:2] ; print(phần_cắt_bước_nhảy) # Output: 'nhà á' # Lấy chuỗi đảo ngược đảo_ngược = str[::-1] ;print(đảo_ngược) # Output: 'ủaibác oàhc nix'
Trong các ví dụ trên, mình sử dụng cú pháp slicing để cắt chuỗi str thành các phần tử hoặc phần của chuỗi gốc. Việc sử dụng slicing cho phép bạn truy xuất và xử lý dữ liệu trong chuỗi một cách linh hoạt và tiện lợi.
Gộp chuỗi (Concatenation)
Cú pháp gộp chuỗi
Trong Python, bạn có thể gộp (concatenate) các chuỗi lại với nhau bằng cách sử dụng toán tử cộng (+) hoặc hàm str.join().
Sử dụng toán tử cộng (+):
chuoi_gop = str_1 + str_2
Sử dụng hàm str.join()
:
chuoi_gop = "".join([str_1, str_2])
Ví dụ minh họa:
str_1 = "Xin chào" str_2 = "các bạn" chuoi_gop = str_1 + " " + str_2 print(chuoi_gop) # Output: 'Xin chào các bạn' # Sử dụng hàm str.join() chuoi_gop = "".join([str_1, " ", str_2]) print(chuoi_gop) # Output: 'Xin chào các bạn'
Trong ví dụ trên, mình sử dụng toán tử cộng (+) và hàm str.join() để gộp chuỗi str_1
và str_2
lại với nhau. Kết quả của cả hai phương pháp đều là chuỗi "Xin chào các bạn".
Các hàm kiểm tra chuỗi trong Python
Kiểm tra độ dài chuỗi
Hàm len()
Trong Python, mình có thể sử dụng hàm len() để kiểm tra độ dài của một chuỗi, tức là số lượng ký tự trong chuỗi đó.
do_dai = len(str)
Ví dụ minh họa:
str = "Xin chào các bạn"; do_dai = len(str); print(do_dai) # Output: 16
Trong ví dụ trên, mình sử dụng hàm len(chuoi) để kiểm tra độ dài của chuỗi str. Kết quả là 16 vì chuỗi "Xin chào các bạn" có 16 ký tự.
Hàm len() rất hữu ích để xác định kích thước của chuỗi và sử dụng thông tin này cho các phép toán và xử lý khác trên chuỗi.
Chuyển đổi chữ hoa/chữ thường
Hàm upper()
Hàm upper() được sử dụng để chuyển đổi tất cả các ký tự trong chuỗi thành chữ hoa.
chuoi_hoa = str.upper()
Hàm lower()
Hàm lower() được sử dụng để chuyển đổi tất cả các ký tự trong chuỗi thành chữ thường.
chuoi_thuong = str.lower()
Ví dụ minh họa:
str = "Xin chào CÁC BẠN" chuoi_hoa = str.upper() chuoi_thuong = str.lower() print(chuoi_hoa) # Output: 'XIN CHÀO CÁC BẠN' print(chuoi_thuong) # Output: 'xin chào các bạn'
Trong ví dụ trên, ta sử dụng hàm upper() để chuyển đổi chuỗi str thành chữ hoa và lưu kết quả vào chuoi_hoa. Tương tự, ta sử dụng hàm lower() để chuyển đổi chuỗi str thành chữ thường và lưu kết quả vào chuoi_thuong. Kết quả được in ra là "XIN CHÀO CÁC BẠN" và "xin chào các bạn" tương ứng.
Xóa khoảng trắng đầu và cuối chuỗi
Hàm strip()
Hàm strip() được sử dụng để xóa khoảng trắng đầu và cuối chuỗi. Nó trả về một bản sao của chuỗi đã bị xóa khoảng trắng ở đầu và cuối.
chuoi_sau_xoa_khoang_trang = str.strip()
Ví dụ minh họa:
str = " Xin chào các bạn " chuoi_sau_xoa_khoang_trang = str.strip() print(chuoi_sau_xoa_khoang_trang) # Output: 'Xin chào các bạn'
Trong ví dụ trên, chuỗi str ban đầu chứa khoảng trắng ở đầu và cuối. Sử dụng hàm strip(), mình tạo ra một bản sao của chuỗi đã bị xóa khoảng trắng ở đầu và cuối, và lưu nó vào chuoi_sau_xoa_khoang_trang. Kết quả được in ra là 'Xin chào các bạn', không chứa khoảng trắng đầu và cuối.
Kiểm tra ký tự trong chuỗi
Hàm count()
Hàm count()
được sử dụng để đếm số lần xuất hiện của một ký tự trong chuỗi.
so_lan_xuat_hien = str.count(ky_tu)
Hàm find()
Hàm find()
được sử dụng để tìm vị trí đầu tiên xuất hiện của một ký tự trong chuỗi. Nếu không tìm thấy, nó trả về -1.
vi_tri = str.find(ky_tu)
Ví dụ minh họa:
str= "Xin chào các bạn" ky_tu = 'à' so_lan_xuat_hien = str.count(ky_tu) vi_tri = str.find(ky_tu) print(so_lan_xuat_hien) # Output: 1 print(vi_tri) # Output: 6
Trong ví dụ trên, ta sử dụng hàm count()
để đếm số lần ký tự 'à' xuất hiện trong chuỗi str. Kết quả là 1 vì 'à' chỉ xuất hiện một lần trong chuỗi. Sau đó, sử dụng hàm find() để tìm vị trí đầu tiên xuất hiện của ký tự 'à' trong chuỗi str. Kết quả là 6, đại diện cho vị trí đầu tiên của ký tự 'à' trong chuỗi.
Các hàm định dạng chuỗi trong Python
Định dạng chuỗi với hàm format()
Cú pháp format()
Hàm format() được sử dụng để định dạng chuỗi bằng cách chèn các giá trị vào vị trí được chỉ định trong chuỗi.
chuoi_da_dinh_dang = str.format(gia_tri_1, gia_tri_2, ...)
Trong cú pháp trên, {} được sử dụng làm vị trí chèn giá trị, và các giá trị được chèn vào vị trí tương ứng thông qua hàm format().
Ví dụ minh họa:
ten = "John" tuoi = 25 chieu_cao = 180 chuoi_dinh_dang = "Tên: {}, Tuổi: {}, Chiều cao: {}cm".format(ten, tuoi, chieu_cao) print(chuoi_dinh_dang) # Output: 'Tên: Hoa, Tuổi: 25, Chiều cao: 180cm'
Trong ví dụ trên,ta sử dụng hàm format() để định dạng chuỗi. Các giá trị ten, tuoi, và chieu_cao được chèn vào vị trí tương ứng trong chuỗi "Tên: {}, Tuổi: {}, Chiều cao: {}cm". Kết quả được in ra là 'Tên: Hoa, Tuổi: 25, Chiều cao: 180cm'.
F-strings - Định dạng chuỗi trong Python 3.6+:
Cú pháp F-strings
F-strings (Formatted string literals) là một cách tiện lợi để định dạng chuỗi trong Python 3.6 trở lên. Chúng cho phép chèn các biểu thức Python vào trong chuỗi bằng cách sử dụng tiền tố f hoặc F trước dấu ngoặc kép bao quanh chuỗi.
chuoi_da_dinh_dang = f"Chuỗi {bieu_thuc}"
Trong cú pháp trên, bieu_thuc
là biểu thức Python mà ta muốn chèn vào chuỗi.
Ví dụ minh họa:
ten = "Hoa" tuoi = 20 chuoi_dinh_dang = f"Tên: {ten}, Tuổi: {tuoi}" print(chuoi_dinh_dang) # Output: 'Tên: Hoa, Tuổi: 20'
Trong ví dụ trên, ta sử dụng F-strings để định dạng chuỗi. Biến ten
và tuoi
được chèn vào chuỗi sử dụng cú pháp {}
và được đánh giá là giá trị tương ứng. Kết quả được in ra là 'Tên: John, Tuổi: 25'.
Lưu ý rằng F-strings chỉ khả dụng từ Python 3.6 trở lên.
Trên đây là một số hàm cơ bản để xử lý chuỗi trong Python. Chúng bao gồm cắt chuỗi, gộp chuỗi, kiểm tra và biến đổi chuỗi. Ta đã tìm hiểu về cú pháp và ví dụ minh họa cho mỗi hàm. Chúc các bạn học tốt!