SlideShare a Scribd company logo
10. 문자열 이야기




          발표자 공지훈
          sagehoon@gmail.com
문자열 다루기
문자열 메서드 사용법 1
                .
문자열 메서드 사용법 2
Endswith(postfix,[start,[end]])
postfix로 문자열이 끝나면 true반환 그외 false
Start,end를 지정시 슬라이싱효과1




expandtabs([tabsize])
 tab을 공백처리한다. 디폴트 tabsize는 8자
문자열 메서드 사용법 3
find(keyword,[start,[end]])
문자열 keyword가 나타내는 첫번째 인덱스를 반환한다. Start,end는 슬라이싱한결과 키워드를 못찾으면 -1 반환




index(keyword,[start,[end]])
find()메서드와 동일하지만 못찾아서 에러시 value에러가 발생




Isalnum()
알파벳과 숫자로 이뤄져 있으면 True, 다른문자가 하나라도 포함시 false
문자열 메서드 사용법 3
find(keyword,[start,[end]])
문자열 keyword가 나타내는 첫번째 인덱스를 반환한다. Start,end는 슬라이싱한결과 키워드를 못찾으면 -1 반환




index(keyword,[start,[end]])
find()메서드와 동일하지만 못찾아서 에러시 value에러가 발생




Isalnum()
알파벳과 숫자로 이뤄져 있으면 True, 다른문자가 하나라도 포함시 false
문자열 메서드 사용법 4
Isalpha()
알파벳으로 이뤄져 있으면 true, 다른문자가 하나라도 있으면 false




Islower()
모든 알파벳이 소문자면 true 아니면 false




Isspace()
모두 공백문자(스페이스,탭,개행문자)로 이루어져 있으면 true 아니면 false
문자열 메서드 사용법 5
istitle()
문자열이 title 스타일인 경우에는 true를 반환하고 그렇지 않으면 false를 반환한다.
즉 문자열의 모든 단어마다 대문자에 이어 소문자가 나와야만 true 를 반환




Isupper()
전알파벳이 대문자이면 true, 아님 false




Isdecimal(),isdgit()
 10진수로 되있음 true, 다른문자가 섞여 있음 false
문자열 메서드 사용법 6
Isnumeric()
숫자여부 를 체크한다 숫자로 이뤄져 있음 true,아님 false




Isidentifire()
일반적으로 아스키 환경에서는 ‘a-z’,’A-Z’혹은 ‘_’로 시작하고 ‘a-z’,’A-Z’혹은 ‘_’로 구성되면 식별자로 사용할수 있다.
이함수는 식별자의 경우 true아니면 false
예제처럼 아스키 뿐아니라 다국어 환경에 대한 결과도 반영




Isprintable()
프린트가 가능한경우 true아니면 false
유니코드상에 other로 분류된 문자들은 false
문자열 메서드 사용법 7
join(sequence)
Iterate 가능한 입력인 sequence 형 변수를 지정된 문자열로 연결하여 반환합니다.




Lower()
모든 영문자를 소문자로 변환




lstrip([chars]
문자열의 왼쪽을 잘라냅니다.
  Chars가 지정되지 않으면 공백문자를 제거 있을경우 chars의 모든조합을 제거한다.
문자열 메서드 사용법 8
maketrans(x,[y,[x]])
이함수는 translate()함수에 쓰일 번역용 맵을 반환합니다. 입력인자가 하나인 경우에는 사전을 입력해주어야하며,
입력인자가 두개인경우에는 길이가 같은 문자열을 입력받아야하고
세개인경우 길이가 같은 문자열 둘과 마지막인자로 None을 대체할 문자을 입력 받습니다.

단순히 maketrans()함수만 쓴경우



위에 내용대로 할경우
문자열 메서드 사용법 9
 partition(separator)
 문자열을 separator로 나눕니다. 결과로는 앞부분,seperator,뒷부분의 세튜플로 반환된다.




replace(old,new,[count])
old를 new로 대체한다. Count 를 주면 그만큼만 대체한다.




rfind(keyword,[start,[end]])
 문자열의 뒤부터 검색해서 해당 keyword인덱스 반환 못찾을시 -1 반환
문자열 메서드 사용법 10
strip([chars])
문자열의 양쪽끝을 짤라낸다. char가 지정안되있으면 공백문자를 제거하며 있으면 char의 조합제거




Swapcase()
대문자는 소문자 소문자는 대문자로



Title()
영문자를 타이틀형으로 변환




Upper()
영문자를 대문자로
카이사르 암호법 예제
정규표현식 문법

 특수문자                                        의미
   .     개행문자를 제외한 문자 1자를 나타냅니다.
         re.DOTALL이 설정되어 있으면 개행을 포함한 문자 1자를 나타냅니다.

   ^     문자열의 시작을 나타냅니다.
         re.MULTILINE이 설정되어 있으면 매라인마다 매치됩니다.

   $     문자열의 종료를 나타냅니다.
         re.MULTILINE이 설정되어 있으면 매라인마다 매치됩니다.

   []    문자의 집합을 나타냅니다. 예를 들어 [abcd]의 경우 ,’a’,’b’,’c’,’d’중 한문자와 매치됩니다.
         이렇게 문자의 집합을 나영하는 대신에 [a-d] 처럼 나타낼수도 있습니다.
         또한 [^5]와 같이 ‘^’가 ‘[]’안에서 쓰이는 경우에는 ‘5’를 제외한 모든 문자를 나타냅니다.
         [$]는 문자열의 종료를 나타내는 대신에 순수 ‘$’를 나타냅니다.

   |     ‘A|B’와 같은 경우 ‘A’혹은 ‘B’를 나타냅니다.(OR연산).

   ()    괄호안의 정규식을 그룹으로 만듭니다. 직접’(‘,’)’(괄호)를 매칭시키기 위하여 ‘(‘,’)’나 ‘[(]’,’[)]’로 나타냅니다.

   *     문자가 0회 이상 반복됨을 나타냅니다.

   +     문자가 1회 이상 반복됨을 나타냅니다.

   ?     문자가 0혹은 1회 반복됨을 나타냅니다.

  {m}    문자가 m회 반복됨을 나타냅니다.

 {m,n}   문자가 m회부터 n화까지 반복되는 모든경우를 나타냅니다.

  {m,}   문자가 m회부터 무한 반복되는 모든경우를 나타냅니다.
확장 문법
  종류                                       설명
   w     유니코드인 경우 숫자,밑줄(‘_’)를 포함하는 모든언어의 표현이 가능한 문자입니다. 아스키 코드이면
          ‘[a-zA-Z0-9]’

   W     유니코드인경우 숫자,밑줄과 표현 가능한 문자를 제외한 나머지 문자입니다. 아스키코드의 경우
          ‘[^a-zA-Z0-9_]’과 동일합니다.

   d     유니코드인 경우 [0-9]를 포함하는 모든 숫자입니다. 아스키 코드인경우 [0-9]와 동일합니다.

   D     유니코드인 경우 숫자를 제외한 모든 문자입니다. 아스키 코드인 경우 [^0-9]와 동일합니다.

   s     유니코드인 경우 [tnrfv]를 포함하는 공백문자입니다. 아스키 코드 인경우 [tnrfv]와 동일합니다.

   S     유니코드인 경우 공백문자를 제외한 모든 문자입니다. 아스키 코드인 경우 [^ tnrfv]과 동일합니다.

   b     단어의 시작과 끝의 빈공백입니다.

   B     단어의 시작과 끝이 아닌 빈공백입니다.

        역슬래쉬() 문자 자체를 의미합니다.

          지정된 숫자만큼 일치하는 문자열을 의미합니다.
  [숫자]
   A     문자열의 시작입니다.

   Z     문자열의 끝입니다.
re모듈함수

         결과로 match 객체를 반환합니다.



             문자열의 처음부터 검색 만약에 중간이후
             로 해당 검색어가 있다면 false반환



              문자열을 전체적으로 검색


                    :과 공백제거 하고 분리

                    단어 공백 : 등 모든요소가 분리됨

                     두개의 요소까지만 분리되고 공백과 : 제거
결론
                           정규식을 검증을 위한
                           다면 이렇게



정규식을 이용해서 원하는 결과를 반환하고 싶다면 아래처럼

             매칭되는 문자열에 이름을 부여
             user_number에 해당하는 문자열
             user_number이름에 해당하는 시작 인덱스

             검색된 모든 문자열에 대해서 사전형태로 반환합니다.
Q&A
감사합니다.

More Related Content

PDF
정규표현식 Regular expression (regex)
PPTX
PDF
정규표현식(Regular expressions)
PPT
정규표현식의 이해와 활용
PPTX
파이썬+정규표현식+이해하기 20160301
PDF
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
PPT
Python3 brief summary
PPTX
Lua 문법
정규표현식 Regular expression (regex)
정규표현식(Regular expressions)
정규표현식의 이해와 활용
파이썬+정규표현식+이해하기 20160301
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
Python3 brief summary
Lua 문법

What's hot (20)

PDF
6장 표현식 및 문장
PDF
Haskell study 2
PDF
9. pointer
PPTX
3.포인터
PPT
Erlang을 이용한 swap 서버
PPTX
Lua 문법 -함수
PPTX
포인터의 기초(1)
PPTX
포인터의기초 (2) - 포인터 사용하기1
PPTX
The C++ Programming Language 5장 포인터, 배열, 구조체
PPTX
PPTX
Lua script
PDF
Haskell study 3
PDF
4. 함수포인터
PPTX
포인터와 배열
PDF
Haskell study 4
PDF
Haskell study 5
PDF
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
PDF
Haskell study 6
PDF
2012 Ds 03
PDF
Haskell study 13
6장 표현식 및 문장
Haskell study 2
9. pointer
3.포인터
Erlang을 이용한 swap 서버
Lua 문법 -함수
포인터의 기초(1)
포인터의기초 (2) - 포인터 사용하기1
The C++ Programming Language 5장 포인터, 배열, 구조체
Lua script
Haskell study 3
4. 함수포인터
포인터와 배열
Haskell study 4
Haskell study 5
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
Haskell study 6
2012 Ds 03
Haskell study 13
Ad

Similar to Python3 10장 문자열이야기 (16)

PPTX
파이썬 문자열 이해하기
PPTX
파이썬 문자열 이해하기
PDF
[octoberskyjs] Regular Expression
PDF
파이썬 기본 문법
PPTX
0327.web&ruby&rails
PDF
Start IoT with JavaScript - 5.객체2
PPTX
파이썬정리 20160130
PDF
Scala 기초 (4)
PDF
3주차 스터디
PDF
Start IoT with JavaScript - 4.객체1
PDF
5 2. string processing
PDF
Vi 단축키명령어
PPTX
Scala스터디 - 배열사용하기
PPT
C수업자료
PPT
C수업자료
PDF
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
파이썬 문자열 이해하기
파이썬 문자열 이해하기
[octoberskyjs] Regular Expression
파이썬 기본 문법
0327.web&ruby&rails
Start IoT with JavaScript - 5.객체2
파이썬정리 20160130
Scala 기초 (4)
3주차 스터디
Start IoT with JavaScript - 4.객체1
5 2. string processing
Vi 단축키명령어
Scala스터디 - 배열사용하기
C수업자료
C수업자료
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
Ad

More from Jihoon Kong (7)

PDF
파이썬3 17장 파이썬과 인터넷
PDF
Python3 11장 날짜이야기
PDF
Iphone Core location
PDF
코어 로케이션
PDF
Python3 6장 모듈만들기
PDF
10장 아이패드에 대한 고려사항
PPT
Beginning iphone 4_devlopement_chpter7_tab_b
파이썬3 17장 파이썬과 인터넷
Python3 11장 날짜이야기
Iphone Core location
코어 로케이션
Python3 6장 모듈만들기
10장 아이패드에 대한 고려사항
Beginning iphone 4_devlopement_chpter7_tab_b

Python3 10장 문자열이야기

  • 1. 10. 문자열 이야기 발표자 공지훈 sagehoon@gmail.com
  • 4. 문자열 메서드 사용법 2 Endswith(postfix,[start,[end]]) postfix로 문자열이 끝나면 true반환 그외 false Start,end를 지정시 슬라이싱효과1 expandtabs([tabsize]) tab을 공백처리한다. 디폴트 tabsize는 8자
  • 5. 문자열 메서드 사용법 3 find(keyword,[start,[end]]) 문자열 keyword가 나타내는 첫번째 인덱스를 반환한다. Start,end는 슬라이싱한결과 키워드를 못찾으면 -1 반환 index(keyword,[start,[end]]) find()메서드와 동일하지만 못찾아서 에러시 value에러가 발생 Isalnum() 알파벳과 숫자로 이뤄져 있으면 True, 다른문자가 하나라도 포함시 false
  • 6. 문자열 메서드 사용법 3 find(keyword,[start,[end]]) 문자열 keyword가 나타내는 첫번째 인덱스를 반환한다. Start,end는 슬라이싱한결과 키워드를 못찾으면 -1 반환 index(keyword,[start,[end]]) find()메서드와 동일하지만 못찾아서 에러시 value에러가 발생 Isalnum() 알파벳과 숫자로 이뤄져 있으면 True, 다른문자가 하나라도 포함시 false
  • 7. 문자열 메서드 사용법 4 Isalpha() 알파벳으로 이뤄져 있으면 true, 다른문자가 하나라도 있으면 false Islower() 모든 알파벳이 소문자면 true 아니면 false Isspace() 모두 공백문자(스페이스,탭,개행문자)로 이루어져 있으면 true 아니면 false
  • 8. 문자열 메서드 사용법 5 istitle() 문자열이 title 스타일인 경우에는 true를 반환하고 그렇지 않으면 false를 반환한다. 즉 문자열의 모든 단어마다 대문자에 이어 소문자가 나와야만 true 를 반환 Isupper() 전알파벳이 대문자이면 true, 아님 false Isdecimal(),isdgit() 10진수로 되있음 true, 다른문자가 섞여 있음 false
  • 9. 문자열 메서드 사용법 6 Isnumeric() 숫자여부 를 체크한다 숫자로 이뤄져 있음 true,아님 false Isidentifire() 일반적으로 아스키 환경에서는 ‘a-z’,’A-Z’혹은 ‘_’로 시작하고 ‘a-z’,’A-Z’혹은 ‘_’로 구성되면 식별자로 사용할수 있다. 이함수는 식별자의 경우 true아니면 false 예제처럼 아스키 뿐아니라 다국어 환경에 대한 결과도 반영 Isprintable() 프린트가 가능한경우 true아니면 false 유니코드상에 other로 분류된 문자들은 false
  • 10. 문자열 메서드 사용법 7 join(sequence) Iterate 가능한 입력인 sequence 형 변수를 지정된 문자열로 연결하여 반환합니다. Lower() 모든 영문자를 소문자로 변환 lstrip([chars] 문자열의 왼쪽을 잘라냅니다. Chars가 지정되지 않으면 공백문자를 제거 있을경우 chars의 모든조합을 제거한다.
  • 11. 문자열 메서드 사용법 8 maketrans(x,[y,[x]]) 이함수는 translate()함수에 쓰일 번역용 맵을 반환합니다. 입력인자가 하나인 경우에는 사전을 입력해주어야하며, 입력인자가 두개인경우에는 길이가 같은 문자열을 입력받아야하고 세개인경우 길이가 같은 문자열 둘과 마지막인자로 None을 대체할 문자을 입력 받습니다. 단순히 maketrans()함수만 쓴경우 위에 내용대로 할경우
  • 12. 문자열 메서드 사용법 9 partition(separator) 문자열을 separator로 나눕니다. 결과로는 앞부분,seperator,뒷부분의 세튜플로 반환된다. replace(old,new,[count]) old를 new로 대체한다. Count 를 주면 그만큼만 대체한다. rfind(keyword,[start,[end]]) 문자열의 뒤부터 검색해서 해당 keyword인덱스 반환 못찾을시 -1 반환
  • 13. 문자열 메서드 사용법 10 strip([chars]) 문자열의 양쪽끝을 짤라낸다. char가 지정안되있으면 공백문자를 제거하며 있으면 char의 조합제거 Swapcase() 대문자는 소문자 소문자는 대문자로 Title() 영문자를 타이틀형으로 변환 Upper() 영문자를 대문자로
  • 15. 정규표현식 문법 특수문자 의미 . 개행문자를 제외한 문자 1자를 나타냅니다. re.DOTALL이 설정되어 있으면 개행을 포함한 문자 1자를 나타냅니다. ^ 문자열의 시작을 나타냅니다. re.MULTILINE이 설정되어 있으면 매라인마다 매치됩니다. $ 문자열의 종료를 나타냅니다. re.MULTILINE이 설정되어 있으면 매라인마다 매치됩니다. [] 문자의 집합을 나타냅니다. 예를 들어 [abcd]의 경우 ,’a’,’b’,’c’,’d’중 한문자와 매치됩니다. 이렇게 문자의 집합을 나영하는 대신에 [a-d] 처럼 나타낼수도 있습니다. 또한 [^5]와 같이 ‘^’가 ‘[]’안에서 쓰이는 경우에는 ‘5’를 제외한 모든 문자를 나타냅니다. [$]는 문자열의 종료를 나타내는 대신에 순수 ‘$’를 나타냅니다. | ‘A|B’와 같은 경우 ‘A’혹은 ‘B’를 나타냅니다.(OR연산). () 괄호안의 정규식을 그룹으로 만듭니다. 직접’(‘,’)’(괄호)를 매칭시키기 위하여 ‘(‘,’)’나 ‘[(]’,’[)]’로 나타냅니다. * 문자가 0회 이상 반복됨을 나타냅니다. + 문자가 1회 이상 반복됨을 나타냅니다. ? 문자가 0혹은 1회 반복됨을 나타냅니다. {m} 문자가 m회 반복됨을 나타냅니다. {m,n} 문자가 m회부터 n화까지 반복되는 모든경우를 나타냅니다. {m,} 문자가 m회부터 무한 반복되는 모든경우를 나타냅니다.
  • 16. 확장 문법 종류 설명 w 유니코드인 경우 숫자,밑줄(‘_’)를 포함하는 모든언어의 표현이 가능한 문자입니다. 아스키 코드이면 ‘[a-zA-Z0-9]’ W 유니코드인경우 숫자,밑줄과 표현 가능한 문자를 제외한 나머지 문자입니다. 아스키코드의 경우 ‘[^a-zA-Z0-9_]’과 동일합니다. d 유니코드인 경우 [0-9]를 포함하는 모든 숫자입니다. 아스키 코드인경우 [0-9]와 동일합니다. D 유니코드인 경우 숫자를 제외한 모든 문자입니다. 아스키 코드인 경우 [^0-9]와 동일합니다. s 유니코드인 경우 [tnrfv]를 포함하는 공백문자입니다. 아스키 코드 인경우 [tnrfv]와 동일합니다. S 유니코드인 경우 공백문자를 제외한 모든 문자입니다. 아스키 코드인 경우 [^ tnrfv]과 동일합니다. b 단어의 시작과 끝의 빈공백입니다. B 단어의 시작과 끝이 아닌 빈공백입니다. 역슬래쉬() 문자 자체를 의미합니다. 지정된 숫자만큼 일치하는 문자열을 의미합니다. [숫자] A 문자열의 시작입니다. Z 문자열의 끝입니다.
  • 17. re모듈함수 결과로 match 객체를 반환합니다. 문자열의 처음부터 검색 만약에 중간이후 로 해당 검색어가 있다면 false반환 문자열을 전체적으로 검색 :과 공백제거 하고 분리 단어 공백 : 등 모든요소가 분리됨 두개의 요소까지만 분리되고 공백과 : 제거
  • 18. 결론 정규식을 검증을 위한 다면 이렇게 정규식을 이용해서 원하는 결과를 반환하고 싶다면 아래처럼 매칭되는 문자열에 이름을 부여 user_number에 해당하는 문자열 user_number이름에 해당하는 시작 인덱스 검색된 모든 문자열에 대해서 사전형태로 반환합니다.
  • 19. Q&A