Chuỗi là tập các ký tự gồm các chữ cái hoặc chữ cái và số. Trong cuộc sống thường ngày, chúng ta gặp “chuỗi” thường xuyên như những câu chữ trong bài này. Ví dụ về chuỗi:
"Đây là Website AnonyViet.com"
"Thứ 2 là ngày đầu tuần"
"1 2 3 5 anh đánh rơi nhịp nào không"
Cách tạo 1 chuỗi trong Python
Trong Python, chuỗi được định nghĩa nằm trong dấu ngoặc đơn hoặc ngoặc kép hoặc 3 dấu nháy đơn:
Ví dụ tạo chuỗi bằng dấu Ngoặc đơn:
s1 = 'Đây là Website AnonyViet.com'
Ví dụ về định nghĩa chuỗi bằng dấu Ngoặc kép:
s2 = "Thứ 2 là ngày đầu tuần"
Ví dụ về định nghĩa chuỗi bằng 3 dấu nháy đơn. Với 3 dấu ”’ bạn có thể viết chuỗi trên nhiều dòng.
s3 = '''Cộng hòa xã hội chủ nghĩa Việt Nam Độc lập - Tự do - Hạnh phúc'''
Một số hàm xử lý chuỗi trong Python
upper, lower | Xử lý in Hoa, in thường |
rjust | Căn lề phải |
ljust | Căn lề trái |
center | Căn gữa |
strip | Xóa khoảng trắng dư thừa |
startswith | Kiểm tra Chuỗi có phải bắt đầu là ký tự? |
endswith | Kiểm tra Chuỗi có phải kết thúc là ký tự? |
count | Đếm số lần xuất hiện trong Chuỗi |
find | Tìm kiếm Chuỗi con |
format | Định dạng Chuỗi |
len () | Trả về số lượng ký tự trong chuỗi, dùng index để lấy ký tự ra: str[index] |
Bài tập 1: Chuyển tất cả chữ in thường thành in hoa.
Ta sẽ tạo biến s1
với đầu vào là input()
.
Sau khi biến s1
có giá trị nhập từ bàn phím rồi, ta sẽ chuyển thành in hoa bằng hàm upper()
. Khi đó công thức sẽ là s1.upper()
. Cuối cùng là dùng lệnh print()
để in ra màn hình.
Tương tự, hàm lower()
sẽ chuyển chữ HOA về chữ thường. Bạn hãy tự làm ví dụ ngược lại nhé.
Bài tập 2: Canh lề trái cho chuỗi “AnonyViet” với 5 dấu *
Lưu ý nếu số ký tự muốn chèn nhỏ hơn Chuỗi gốc thì không có gì thay đổi.
Mặc định ký tự sẽ là khoảng trắng, bạn có thể thay đổi thành các ký tự khác như dấu *,$,@ hoặc bất kỳ ký tự nào trên bàn phím
Ta sẽ tạo biến s1
chứa chuỗi AnonyViet
.
Ta có AnonyViet
có 9 ký tự, do đó để chèn ký tự tiếp theo thì độ dài phải bắt đầu từ 10. Vâỵ để thêm 5 ký tự *, ta sẽ có công thức độ dài là 10+5 = 15
.
Canh lên trái ta sẽ dùng hàm ljust(độ dài, ký tự)
, vậy để canh lề trái với 10 dấu * cho chuỗi s1
sẽ là s1.ljust(15,*)
Cuối cùng là dùng lệnh print()
để in ra màn hình.
Tương tự, các bạn hãy thử sức với canh lề phải và canh lề giữa trong Python nhé!
Bài tập 3: Xóa các dấu cách dư thừa ở đầu dòng và cuối dùng
Python hỗ trợ hàm chuẩn hóa chuỗi, giúp xóa các khoảng trắng dư thừa ở đầu và cuối chuỗi. Bạn có thể dùng hàm strip()
để thực hiện việc này.
Bài tập 3: Kiểm tra xem có cụm từ Anony trong chuỗi “AnonyViet đẹp trai” không?
Python có 2 hàm startswith()
và endswith()
để kiểm tra trong chuỗi đã có có tồn tại chuỗi con không? Nếu có trả về True, nếu không trả về False
Lưu ý: 2 hàm này có phân việt chữ hoa và chữ thường.
Hãy thử bài trên với hàm endswith()
nhé.
Bài tập 4: Tìm vị trí chữ V trong chuỗi “AnonyViet”
Python có hàm find()
dùng để tìm vị trí đầu tiên của ký tự trong chuỗi. Lưu ý: vị trí trong Python bắt đầu từ 0 nhé.
Ta có chuỗi s1 = "AnonyViet"
. Để tìm vị trí đầu tiên xuất hiện chữ V ta dùng lệnh find("v")
. Sau đó dùng lệnh print()
để in ra vị trí.
Như vậy kết quả sẽ ra vị trí chữ V đầu tiên trong chuỗi AnonyViet là: 5
Bài tập 4: Tìm chữ vị trí cuối cùng của chữ “n” trong chuỗi “AnonyViet”
Trong python ta có hàm rfind()
, tìm vị trí cuối cùng được tìm thấy. Để giải bài này, ta thực hiện như sau:
Tạo biến s1 chứa chuỗi AnonyViet:
s1 = "AnonyViet"
Để in chữ n cuối cùng trong chuỗi s1 ta dùng lệnh print()
kết hợp s1.rfind("n")
.
Kết quả là print(s1.rfind("n"))
Do Python tính từ vị trí số 0, nên sẽ đếm được vị trí chữ n cuối cùng là 3
Trường hợp nếu không có từ nào trong chuỗi sẽ trả về -1.
Ví dụ bạn cần tìm chữ X
trong chuỗi “AnonyViet”.
Do X không xuất hiện trong AnonyViet nên kết quả sẽ trả về -1
.
Bài tập 5: Tính số lần xuất hiện từ “no” trong chuỗi “AnonyViet”
Ta có hàm count()
để đếm số lần xuất hiện của chuỗi con trong chuỗi mẹ. Ta thực hiện như sau:
s1 = "AnonyViet"
print(s1.count("no")
Kết quả sẽ ra: 1. Do trong chuỗi xuất hiện 1 lần chữ no => AnonyViet
Bài tập 6: In chữ Viet trong chuỗi “AnonyViet”
Trong python ta có thể lấy chuỗi con bằng cách sử dụng khoảng cách từ vị trí A đến vị trí B theo công thức [A:B]
- Phía sau dấu : nếu không có gì là lấy vị trí cuối cùng
- Phía trước dấu : nếu không có gì là lấy vị trí đầu tiên
Trong chuỗi “AnonyViet” ta có vị trí tính từ 0. Để tách chuỗi bạn thực hiện như sau:
s1 = "AnonyViet"
print(s1[5:])
#do chữ t ở vị trí cuối cùng lên sau dấu : ta để trống.
Kết quả: Viet
Còn 2 hàm tách chuỗi và nối chuỗi chúng ta sẽ gặp ở Chương 4, khi đó sẽ dùng vòng lặp để thực hiện 2 lệnh này.