ผลลัพธ์สำหรับการแยกสตริงเคสอูฐออกเป็นอนุกรมดังนี้
enter the sring: pandasSeriesDataFrame Series is: 0 pandas 1 Series 2 Data 3 Frame dtype: object
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง -
วิธีแก้ปัญหา
-
กำหนดฟังก์ชันที่ยอมรับสตริงอินพุต
-
ตั้งค่าตัวแปรผลลัพธ์ด้วยเงื่อนไขเนื่องจากอินพุตไม่ใช่ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และไม่มี '_' ในสตริงอินพุต มีการกำหนดไว้ด้านล่าง
result = (s != s.lower() and s != s.upper() and "_" not in s)
-
ตั้งค่าเงื่อนไขเพื่อตรวจสอบว่าผลลัพธ์เป็นจริงหรือไม่โดยใช้วิธี re.findall เพื่อค้นหารูปแบบเคสอูฐและแปลงสตริงอินพุตเป็นอนุกรม มีการกำหนดไว้ด้านล่าง
pd.Series(re.findall(r'[A-Za-z](?:[a-z]+|[A-Z]*(?=[A-Z]|$))', s)
-
หากเงื่อนไขเป็นเท็จ ให้พิมพ์อินพุตไม่ใช่รูปแบบเคสอูฐ
ตัวอย่าง
ตอนนี้ มาตรวจสอบการใช้งานเพื่อความเข้าใจที่ดีขึ้น -
import pandas as pd import re def camelCase(s): result = (s != s.lower() and s != s.upper() and "_" not in s) if(result==True): series = pd.Series(re.findall(r'[A-Za-z](?:[a-z]+|[A-Z]*(?=[AZ]|$))', s)) print(series) else: print("input is not in came case format") s = input("enter the sring") camelCase(s)
ผลลัพธ์
enter the sring: pandasSeriesDataFrame Series is: 0 pandas 1 Series 2 Data 3 Frame dtype: object enter the sring: pandasseries input is not in came case format