Tôi đang cố gắng phát triển thuật toán python để kiểm tra xem chuỗi có thể là một từ viết tắt cho một từ khác hay không. Ví dụ:Kiểm tra xem chuỗi có phải là một cách viết tắt có thể cho tên
fck
phù hợp vớifc kopenhavn
vì khớp với ký tự đầu tiên của từ.fhk
sẽ không khớp.fco
không được khớp vớifc kopenhavn
vì không có ai sẽ khai báo FC Kopenhavn là FCO.irl
là kết quả phù hợp choin real life
.ifk
là kết quả phù hợp choifk goteborg
.aik
là kết quả phù hợp choallmanna idrottskluben
.aid
phù hợp vớiallmanna idrottsklubben
. Đây không phải là sự rút gọn tên nhóm thực sự, nhưng tôi đoán thật khó để loại trừ nó trừ khi bạn áp dụng kiến thức cụ thể về tên miền về cách viết tắt tiếng Thụy Điển được hình thành.manu
là kết quả phù hợp chomanchester united
.
Thật khó để mô tả các quy tắc chính xác của thuật toán, nhưng tôi hy vọng các ví dụ của tôi sẽ hiển thị những gì tôi đang theo dõi.
Cập nhật Tôi đã sai khi hiển thị các chuỗi có các chữ cái tương ứng được viết hoa. Trong kịch bản thực tế, tất cả các chữ cái là chữ thường nên không dễ dàng như việc kiểm tra các chữ cái nào được viết hoa.
Vì vậy, bạn muốn xem chuỗi có khớp với các chữ hoa trong các chuỗi đó không? Nếu vậy, hãy thử viết một cái gì đó cho nó mà: chỉ lấy các chữ in hoa của những thứ đầy đủ của bạn và tát chúng vào một từ điển (như các khóa có phiên bản đầy đủ như các giá trị), và sau đó dễ dàng tìm kiếm nó. Vì nó là, bạn đã không thực sự hỏi một câu hỏi ... –
Điều tốt nhất tôi có thể nghĩ đến là để trích xuất tất cả các chữ hoa, chuyển đổi chuỗi ngắn để trường hợp trên sau đó làm kiểm tra bình đẳng. –
Semi-OT: ManU có thể được coi là một sự xúc phạm đối với người hâm mộ ManUnited, mặc dù nó được sử dụng rộng rãi như là một viết tắt trong các nước không phải tiếng Anh. –