A. YÊU CẦU CẦN ĐẠT
* Biết và thực hiện được một số lệnh thường dùng với xâu kí tự
B. NỘI DUNG BÀI HỌC
1. XÂU CON VÀ LỆNH TÌM VỊ TRÍ XÂU CON
Ví dụ 1: Dùng toán tử in để kiểm tra một xâu có là xâu con của xâu khác không.
>>> “abc” in “123abc” True >>> “010” in “1101”
False
- Biểu thức kiểm tra <xâu 1> nằm trong <xâu 2> là: <xâu 1> in <xâu 2>
Nếu đúng thì trả lại giá trị True, nếu sai trả lại giá trị False.
Ví dụ 2. Lệnh find ( ) tìm vị trí xuất hiện của một xâu trong xâu khác.
>>> s = “ab bc cd 123 456 00”
>>> s.find (“b”)
1 🡨 Vị trí xuất hiện đầu tiên của “b” trong xâu s là chỉ số 1
>>> s.find (“12”)
9 🡨 Vị trí tìm thấy đầu tiên của ”12” trong xâu s chỉ là số 9. >>> s.find (“AB”)
-1 🡨 Không tìm thấy xâu “AB” trong xâu s nên trả về -1
Một số lệnh đặc biệt dành riêng cho xâu kí tự (phương thức). Cách thực hiện phương thức là: <xâu>. <phương thức>
Cú pháp đơn của lệnh find ( ): <xâu mẹ>. find (<xâu con>)
Lệnh sẽ tìm vị trí đầu tiên của xâu con trong xâu mẹ và trả về vị trí đó. Nếu không tìm thấy thì trả về -1.
Cú pháp đầy đủ của lệnh find ( ): <xâu mẹ>. find (<xâu con>, start)
Lệnh sẽ tìm xâu con bắt đầu từ vị trí start
Ví dụ 3
>>> sub = “Đà Nẵng”
>>> s = “Hà Nội – Đà Nẵng – Hồ Chí Minh”
>>> s.find(sub)
9
>>> s.find(sub,10)
-1 Ghi nhớ
Để tìm một xâu trong một xâu khác có thể dùng toán tử in hoặc lệnh find ( ). Lệnh find ( ) trả về vị trí của xâu con trong xâu mẹ.
2. MỘT SỐ LỆNH THƯỜNG DÙNG VỚI XÂU KÍ TỰ:
Ví dụ 1: Lệnh split ( ) tách một xâu thành danh sách các từ:. >>> s = “Tiên học lễ hậu học văn”
>>> s.split ( ) #Tách xâu dùng dấu cách để phân biệt tách.
[“Tiên”, “học”, “lễ”, “hậu”, “học”, “văn”]
>>> st = “0, 1, 2, 3, 4, 5, 6, 10”
>>> s.split (“,”) #Tách xâu dùng dấu “,” để phân biệt tách [“0”, “1”, “2”, “3”, “4”, “5”, “6”, “10”]
Cú pháp của lệnh split() <xâu mẹ>.split(<kí tự cách>) Ví dụ 2. Lệnh join() nối danh sách gồm các từ thành một xâu.
>>> A= [ ‘ Tiên’, ‘học’, ‘lễ’, ‘hậu’, ‘học’, ‘văn’ ]
>>>” “. join(A) # Lệnh join() này sẽ nối các phần tử của danh sách A bởi dấu cách. ‘Tiên học lễ hậu học văn’
>>>B = [ ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘10’ ]
>>> “,”. join(B) # Lệnh join() này sẽ nối các phần tử của danh sách B bởi dấu “,”.
‘0,1,2,3,4,5,6,10’
Lệnh join() có tác dụng ngược với lệnh split(). Có chức năng nối các phần tử (là xâu) của một danh sách thành một xâu. Cú pháp của lệnh join() là:
“kí tự nối”. join(<danh sách>)
Ghi nhớ: Python có các lệnh đặc biệt để xử lí xâu là split( ) dùng để tách xâu thành danh sách và lệnh join() dùng để nối danh sách các xâu thành một xâu. Câu hỏi:
? Cho xâu kí tự: “gà,vịt,chó,lợn,ngựa,cá”. Em hãy trình bày cách làm để xóa các dấu”,” và thay thế bằng dấu “ ” trong xâu này.
C. CỦNG CỐ - VẬN DỤNG
THỰC HÀNH
Một số bài toán liên quan đến xâu kí tự.
Nhiệm vụ 1. Viết chương trình nhập nhiều số nguyên từ bàn phím, các số cách nhau bởi dấu cách. Khi nhập xong thông báo số lượng các số đã nhập và in các số này thành hàng ngang.
Hướng dẫn. Dữ liệu nhập vào là một xâu. Dùng lệnh split() để tách thành danh sách. Chuyển các phần tử danh sách này thành số và in ra màn hình.
Nhiệm vụ 2. Viết chương trình nhập một xâu kí tự có thể có nhiều dấu cách giữa các từ. Sau đó chỉnh sửa xâu kí tự đó sao cho giữa các từ chỉ có một dấu cách. In xâu kết quả ra màn hình.
Hướng dẫn. Chuyển xâu kí tự ban đầu thành danh sách các từ đơn bằng lệnh split(), sau đó nối các từ đơn này bằng lệnh join().
Nhiệm vụ 3. Viết chương trình nhập số tự nhiên n, rồi nhập họ tên của n học sinh. Sau đó in ra danh sách tên học sinh theo hai cột, cột 1 là tên, cột 2 là họ đệm.
Hướng dẫn. Họ tên ban đầu tách ra thành tên và họ đệm bằng lệnh split(). Các tên được đưa vào danh sách ten, các họ đệm được đưa vào danh sách hodem. Sau đó in ra danh sách theo yêu cầu.
--- THE END ---