반응형
파이썬 - 문자열 메소드와 문자열 다루기
목차
- 문자열 만들기
- 문자열에서 특정 문자 선택하기
- 문자열에 변수값 입력하기
- 문자열 메소드
- 사용예제
1. 문자열 만들기
파이썬에서는 큰따옴표와 작은따옴표를 사용하여 아래와 같은 4가지 방식으로 문자열을 만들수 있습니다.
s1 = "문자열1"
s2 = '문자열2'
s3 = """문자열3"""
s4 = '''문자열4'''
print(s1, s2, s3, s4)
#실행결과#
문자열1 문자열2 문자열3 문자열4
cf) 문자열에 정수를 곱하면 문자열이 정수배 만큼 반복 적용됩니다.
s = 'abc'
print(s * 3)
#실행결과#
abcabcabc
2. 문자열에서 특정 문자 선택하기
문자열의 각 문자별 인덱스 위치를 대괄호( [ ] ) 안에 지정하여 특정 문자를 선택할 수 있습니다.
s = 'abcd'
print("1: ", s * 3)
print("2: ", s[0], s[1], s[2], s[3])
print("3: ", s[-1], s[-2], s[-3], s[-4])
print("4: ", s[0:], s[:2])
#실행결과#
1: abcdabcdabcd
2: a b c d
3: d c b a
4: abcd ab
3. 문자열에 변수값 입력하기
문자열에 변수값을 지정하여 변수값을 전달받아 문자열을 만들수 있습니다. 방법은 아래와 같이 3가지 형태가 있으며, 편리한 방법을 선택하여 사용하시면 됩니다.
name='홍길동'
age = 20
print("방법1: ", "이름은 %s이고 나이는 %d살 입니다" %(name, age))
print("방법2: ", "이름은 {0}이고 나이는 {1}살 입니다".format(name, age))
print("방법3: ", f"이름은 {name}이고 나이는 {age}살 입니다")
#실행결과#
방법1: 이름은 홍길동이고 나이는 20살 입니다
방법2: 이름은 홍길동이고 나이는 20살 입니다
방법3: 이름은 홍길동이고 나이는 20살 입니다
4. 문자열 메소드
다양한 문자열 메소드를 활용하여 문자열 내용을 조작할 수 있습니다. 여기에서는 자주 사용되는 메소드를 알아보도록 하겠습니다.
- count(검색문자열) : 검색문자열의 개수를 반환
- find(검색문자열) : 검색문자열의 위치값을 반환 (없으면 -1 반환)
- index(검색문자열) : 검색문자열의 위치값을 반환 (없으면 Error 발생)
- replace(기존문자열, 새문자열) : 기존문자열을 새문자열로 변환
- split(구분문자열) : 구분문자열을 기준으로 문자열을 분리하여 분리된 각 문자열을 list 형태로 저장함
- split( ) : 공백을 기준으로 문자열을 분리함
- join(리스트) : 리스트의 각 요소를 구분문자열로 연결하여 하나의 문자열로 변환
- strip( ) : 문자열의 양쪽에 있는 공백들을 제거함 (lstrip( ) : 왼쪽만 제거, rstrip( ) : 오른쪽만 제거)
- strip(삭제할문자들) : 문자열의 양쪽에 있는 삭제할문자들을 제거함
cf) str.maketrans(기존문자, 새문자)로 변환테이블을 만든후 translate(변환테이블)을 사용하면, 문자열의 각 문자를 변환테이블과 매칭되는 문자로 변환할 수 있습니다.
1) 사용예제
s1 = "a-ab-abc-abcd"
print("01: ", s1.count('abc'))
print("02: ", s1.find('b')) #특정 문자열이 없으면 -1 반환
print("03: ", s1.index('b')) #특정 문자열이 없으면 Error 발생
print("04: ", s1.replace('a', '1'))
print("05: ", s1.split('-'))
print()
s2 = ['a', 'b', 'c', 'd']
print("06: ", '-'.join(s2))
print()
s3 = " 1123211 "
print("07: ", s3 + '세')
print("08: ", s3.strip() + '세')
print("09: ", s3.lstrip() + '세')
print("10: ", s3.rstrip() + '세')
print("11: ", s3.strip(' 12') + '세')
print()
t1 = str.maketrans("abc", "123")
print("12: ", s1.translate(t1))
[실행결과]
01: 2
02: 3
03: 3
04: 1-1b-1bc-1bcd
05: ['a', 'ab', 'abc', 'abcd']
06: a-b-c-d
07: 1123211 세
08: 1123211세
09: 1123211 세
10: 1123211세
11: 3세
12: 1-12-123-123d
반응형
'IT 개발 > Python' 카테고리의 다른 글
[파이썬] 조건문과 반복문 (if, for, while) 사용법 (0) | 2023.12.06 |
---|---|
[파이썬] 리스트, 튜플, 딕셔너리, 세트 (list, tuple, dictionary, set) 사용법 (0) | 2023.12.06 |
[파이썬] 기본문법 및 연산자, 변수, 자료형 (0) | 2023.12.05 |
[파이썬] 아나콘다(Anaconda) 사용법 (0) | 2023.12.05 |
[파이썬] 아나콘다를 활용한 파이썬 설치 방법 (0) | 2023.12.05 |