DANH SÁCH BỔ SUNG TOÀN DIỆN CÁC HÀM VỀ XÂU KSI TỰ

Dưới đây là DANH SÁCH BỔ SUNG TOÀN DIỆN (nhiều hàm ít người biết nhưng cực hữu ích khi dạy và làm bài):


✅ NHÓM 1: THAY ĐỔI KÍ TỰ / CẤU TRÚC

🔹 replace(old, new, count)

Thay thế chuỗi con.

🔹 translate() + maketrans()

Thay thế theo bảng ánh xạ (nâng cao hơn replace).

🔹 expandtabs(tabsize)

Chuyển ký tự TAB thành số lượng khoảng trắng nhất định.


✅ NHÓM 2: TÌM KIẾM NÂNG CAO

🔹 find(sub, start, end)

🔹 rfind(sub, start, end)

🔹 index(), rindex()

🔹 count(sub)


✅ NHÓM 3: TÁCH & GHÉP CHUỖI

🔹 split(sep, maxsplit)

🔹 rsplit(sep, maxsplit)

🔹 splitlines(keepends)

Tách theo dòng (\n), có thể giữ lại ký tự xuống dòng.

🔹 join(list)

Ghép các phần tử thành chuỗi.


✅ NHÓM 4: KIỂM TRA DẠNG CHUỖI (isX)

Đã có một số, bổ sung thêm:

Hàm Ý nghĩa
isdecimal() Chỉ gồm chữ số thập phân
isnumeric() Bao gồm cả số đặc biệt (⅔, ²…)
isidentifier() Có hợp lệ làm tên biến không
isprintable() In được không
istitle() Từng từ viết hoa chữ đầu?

⚠️ Điểm hay: so sánh isdigit vs isdecimal vs isnumeric


✅ NHÓM 5: ĐỊNH DẠNG CHUỖI CAO CẤP

🔹 f-string format nâng cao:

f"{score:.2f}"       # làm tròn 2 số thập phân
f"{value:>10}"        # căn phải
f"{value:<10}"        # căn trái
f"{value:^10}"        # căn giữa
f"{num:,}"            # thêm dấu phẩy: 1,000,000

🔹 Template strings (từ module string)

An toàn hơn khi format chuỗi người dùng nhập vào.


✅ NHÓM 6: CẮT, CHÈN, ĐẢO, LỌC

🔹 slice step âm để đảo chuỗi

s[::-1]

🔹 Chèn chuỗi / ký tự vào vị trí cụ thể

s[:pos] + "X" + s[pos:]

🔹 Lọc ký tự theo điều kiện

"".join(ch for ch in s if ch.isalpha())

✅ NHÓM 7: BIỀU THỨC CHÍNH QUY (regex – rất quan trọng!)

Dùng thư viện re:

import re
re.findall(pattern, s)
re.sub(pattern, new, s)
re.split(pattern, s)
re.search(pattern, s)

👉 Dùng để: tìm email, số điện thoại, lọc ký tự, tách từ, chuẩn hóa unicode…


✅ NHÓM 8: XỬ LÝ UNICODE + CHUẨN HÓA

import unicodedata
unicodedata.normalize('NFC', s)
unicodedata.name(ch)

👉 Dùng khi xử lý tiếng Việt, dấu kết hợp…


✅ NHÓM 9: XỬ LÝ KHOẢNG TRẮNG & DÒNG

Hàm Chức năng
strip() Xóa trắng 2 bên
lstrip() Bên trái
rstrip() Bên phải
strip(“abc”) Xóa ký tự a, b, c (không chỉ khoảng trắng)

✅ NHÓM 10: THƯ VIỆN string (rất hữu ích)

import string
string.ascii_letters   # a-zA-Z
string.digits          # 0123456789
string.punctuation     # !@#$%^&*...
string.whitespace      # \t \n ...

✅ NHÓM 11: CHIA BLOCK / WRAP VĂN BẢN

import textwrap
textwrap.fill(text, width=50)
textwrap.wrap(text, width=50)

✅ NHÓM 12: MỘT SỐ HÀM ÍT BIẾT NHƯNG CỰC HAY

Hàm Ý nghĩa
partition(sep) Trả về 3 phần: trước – sep – sau
rpartition(sep) Tìm từ phải
casefold() So sánh không phân biệt hoa thường chuẩn hơn lower()
encode()/decode() Chuyển giữa str và bytes
format_map(dict) Tương tự format nhưng dùng dict
capitalize() Viết hoa chữ đầu + thường hóa phần còn lại

✅ NHÓM 13: TRẢ RA BẢN MÃ KÝ TỰ

ord('A')  # 65
chr(65)   # 'A'

 

 

Để lại một bình luận