Computer >> Máy Tính >  >> Lập trình >> Python

Regex trong Python để đặt dấu cách giữa các từ bắt đầu bằng chữ in hoa


Vấn đề chúng tôi đang cố gắng giải quyết ở đây là chuyển đổi CamelCase để tách các từ ra. Chúng ta có thể giải quyết vấn đề này trực tiếp bằng cách sử dụng regexes bằng cách tìm tất cả các lần xuất hiện của một ký tự hoa trong chuỗi đã cho và đặt một khoảng trắng trước nó. Chúng ta có thể sử dụng phương thức phụ từ mô-đun re.

Ví dụ:đối với chuỗi đầu vào -

AReallyLongVariableNameInJava

Chúng ta sẽ nhận được đầu ra -

A Really Long Variable Name In Java

Chúng ta có thể sử dụng "[A-Z]" regex để tìm tất cả các chữ cái viết hoa, sau đó thay thế chúng bằng dấu cách và lại chữ cái đó. Chúng tôi có thể triển khai nó bằng cách sử dụng gói lại như sau -

Ví dụ

import re

# Find and capture all capital letters in a group and make that replacement
# using the \1 preceded by a space. Strip the string to remove preceding
# space before first letter.
separated_str = re.sub("([A-Z])", " \\1", "AReallyLongVariableNameInJava").strip()
print(separated_str)

Đầu ra

Điều này sẽ cung cấp đầu ra -

A Really Long Variable Name In Java