[Python] Basic Methods of String

2023. 6. 21. 16:28·Programming
728x90
728x90

Basic Methods of String

 

프로그래밍에서 가장 많이 다루는 데이터는 text라고 할 수 있다.

  • Raw data에서 str(string)은 numerical data 이상으로 가장 애용되는 데이터임.
    • preprocessing 등을 통해 해당 text data는 numerical data로 변경(주로 vector)되는 경우가 매우 많음.
  • 과학이나 연구분야가 아닌 경우, 사실상 str문자열이 가장 많이 애용되는 raw data type이라고 볼 수 있음.

이 문서에서는

Python이 기본적으로 제공하는 str class에서 다양한 method들의 사용법을 간략히 정리한다.

 

str은 immutable이므로,
method 결과로 기존 str 객체의 value가 갱신되지 않으며
새로운 str 객체가 생성됨.

대소문자 처리 (~ Case Conversion)

lower : 전부 소문자.
upper : 전부 대문자.
capitalize : 첫 단어의 첫글자만 대문자
title : 각 단어의 첫글자 대문자.
swapcase : 대소문자를 바꾸어줌.


체크 메소드

islower : 전부 소문자인가?
isupper : 전부 대문자인가?
isspace : 전부 whitespace 문자인가? (전부 whitespace인지를 판별, \t, \n 도 whitespace 문자임.
isdigit : 전부 숫자인가?
isalpha : 전부 alphabetic character인가? (한글문자도 포함됨)
isalnum : 전부 숫자 또는 문자인가? (puncuation mark character(문장부호문자)가 없어야 함.)
startswith : argument로 주어진 문자열로 시작하는가?
endswith : argument로 주어진 문자열로 끝나는가


앞뒤의 공백문자 (whitespace) 제거

strip : 앞뒤의 공백문자를 제거함(기본모드). argument로 제거할 문자들로 구성된 string을 줄 수도 있음.
lstrip : 왼쪽(앞쪽)의 공백문자를 제거함(기본모드). argument로 제거할 문자들로 구성된 string을 줄 수도 있음.
rstrip : 오른쪽(뒤쪽)의 공백문자를 제거함(기본모드). argument로 제거할 문자들로 구성된 string을 줄 수도 있음.

 

제거할 문자들로 구성된 문자열을 argument로 넘겨주어 복수 개의 제거할 문자들의 할당이 가능함.


특정 구분문자로 문자열 나누어 list로 저장(Tokenize)

split : sep이라는 키로 delimiter (or separator, 구분문자)로 사용할 string을 입력받고 이들로 string을 나누고 그 결과를 list에 저장.

  • separator argument가 주어지지 않을 경우, whitespace(공백문자) sequences (newline, space, tab)를 기본 delimiter로 삼아 처리함.

split는 나누는 것이니 합치는 것도 있음.
그것이 바로 join 메서드임.

 

https://ds31x.tistory.com/140

 

[Etc] Token and Tokenizer

Token의 의미 문장을 구성하는 (최소)의미 단위. 일반적으로 하나의 word가 token에 해당하며, 영어에서는 whitespace character(공백문자) 및 punctuation mark 등을 구분자(delimeter)로 하여 나눈 결과들을 보통

ds31x.tistory.com


특정 glue character로 string들을 item으로 가지는 list를 concatenation

join : 호출하는 string을 glue character로 삼아, argument로 넘어오는 list의 문자열들을 결합함.


특정 substring의 갯수 세기

count :

  • argument로 넘겨준 substr이 호출한 str 의 내부에 몇 개 존재하는지를 count.
  • Python은 case sensitive임을 잊지 말 것

특정 substring이 시작하는 index (=위치) 찾기

index :

  • argument로 받은 sbustring이 "호출한 string의 어디에서 시작"하는지를 index로 반환.
  • zero부터 index가 시작함을 주의.
  • 해당 substring이 없는 경우 ValueError 발생.

find :

  • 위에서 설명한 index와 같은 기능을 수행.
  • 단, 없을 경우엔 -1을 반환하는게 차이점
  • exception이 발생하지 않기를 원한다면 find를 사용하는게 낫다.

특정 문자열 바꾸기 (substitution, 치환.).

치환이라고도 함.

이름과 달리 원래의 str은 변경되지 않고, 치환의 결과가 되는 새로운 str이 반환됨.

 

replace :

  • method로 호출되어 호출된 str을 원래의 문자열로 삼아
  • argument로 받은 바뀔 대상이 되는 부분문자열을 "바꿀 새로운 부분문자열로 교체"하여
  • 새로 만들어진 new str을 반환함.

Layout Alignment

center :

  • 가운데 정렬.
  • argument로 전체 문자열의 길이가 주어짐.
  • 100으로 주어지면 해당 100글자의 공간에 가운데에 str을 배치.

ljust : 왼쪽 정렬.
rjust : 오른쪽 정렬.

 


같이보면 좋은 자료들

https://ds31x.tistory.com/125

 

[Python] String : 문자열

String(문자열)이란?다음 URL에서 4.3. String Type을 참고.https://dsaint31.tistory.com/515 [Python] (Data) Type : Summary1. Type 이란? Programming에서 사용되는 모든 value 혹은 object 들의 종류 를 (data) type이라고 부름.

ds31x.tistory.com


 

'Programming' 카테고리의 다른 글

[Python] str : Overloaded Operators  (0) 2023.07.02
[Python] pip 란 (Package Management System)  (0) 2023.06.22
[Python] f-String  (1) 2023.06.21
[Python] Assignment (Basic)  (0) 2023.06.20
[Python] Module Search Path and sys.path  (0) 2023.06.18
'Programming' 카테고리의 다른 글
  • [Python] str : Overloaded Operators
  • [Python] pip 란 (Package Management System)
  • [Python] f-String
  • [Python] Assignment (Basic)
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (740)
      • Private Life (13)
      • Programming (186)
        • DIP (104)
        • ML (26)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (351)
        • Signals and Systems (103)
        • Math (172)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    Convolution
    Probability
    Programming
    linear algebra
    opencv
    인허가제도
    SIGNAL
    math
    fourier transform
    random
    SS
    Optimization
    function
    numpy
    signal_and_system
    Python
    Term
    검사
    signals_and_systems
    Vector
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[Python] Basic Methods of String
상단으로

티스토리툴바