Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

사용자로부터 낙타 케이스 문자열을 확인하고, 낙타 케이스를 분할하고, 새 시리즈에 저장하는 프로그램을 Python으로 작성하십시오.

<시간/>

낙타 케이스 문자열을 시리즈로 분할한 결과는 다음과 같습니다.

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