낙타 케이스 문자열을 시리즈로 분할한 결과는 다음과 같습니다.
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)
-
if 조건을 설정하여 결과가 참인지 확인하기 위해 re.findall 메소드를 적용하여 낙타의 경우 패턴을 찾고 입력 문자열을 계열로 변환합니다. 아래에 정의되어 있습니다.
pd.Series(re.findall(r'[A-Za-z](?:[a-z]+|[A-Z]*(?=[A-Z]|$))', s)
-
조건이 false가 되면 입력이 낙타의 경우 형식이 아닌 것으로 인쇄됩니다.
예시
이제 더 나은 이해를 위해 구현을 확인하겠습니다 -
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