Kết quả tách chuỗi camel case thành Series như sau:
enter the sring: pandasSeriesDataFrame Series is: 0 pandas 1 Series 2 Data 3 Frame dtype: object
Để giải quyết bài toán này, chúng ta sẽ làm theo các bước dưới đây:
Giải pháp
- Định nghĩa hàm chấp nhận chuỗi đầu vào
- Thiết lập biến result với điều kiện: chuỗi không phải toàn chữ thường, không phải toàn chữ hoa và không chứa '_'. Định nghĩa như sau:
result = (s != s.lower() and s != s.upper() and "_" not in s)
- Thiết lập điều kiện if: nếu result là True thì áp dụng re.findall để tìm pattern camel case và chuyển chuỗi đầu vào thành Series. Định nghĩa như sau:
pd.Series(re.findall(r'[A-Za-z](?:[a-z]+|[A-Z]*(?=[A-Z]|$))', s))
- Nếu điều kiện là False, thì in ra rằng đầu vào không ở định dạng camel case.
Ví dụ
Hãy kiểm tra triển khai để hiểu rõ hơn:
import pandas as pd
import re
def camelCase(s):
result = (s != s.lower() and s != s.upper() and "_" not in s)
if result:
series = pd.Series(re.findall(r'[A-Za-z](?:[a-z]+|[A-Z]*(?=[A-Z]|$))', s))
print(series)
else:
print("input is not in camel case format")
s = input("enter the string: ")
camelCase(s)
Đầu ra
enter the string: pandasSeriesDataFrame Series is: 0 pandas 1 Series 2 Data 3 Frame dtype: object enter the string: pandasseries input is not in camel case format