sm 기술 블로그

5. 문자열(슬라이싱/문자열 처리함수) 본문

Python

5. 문자열(슬라이싱/문자열 처리함수)

sm_hope 2022. 5. 2. 17:55
슬라이싱
연속적인 객체(리스트, 튜플, 문자열)들의 범위를 지정해 원하는 값만 뽑는 것
jumin = "990120-1234567"

#필요한 만큼만 가져오는 것을 슬라이싱이라고 한다.
#이야.. 자바는 A.charSt()로 써야되는데...

print("성별 : " + jumin[7])
print("연 : " + jumin[0:2]) # 0 ~ 1 값을 가져온다.
print("월 : " + jumin[2:4])
print("일 : " + jumin[4:6])

print("생년월일 : " + jumin[:6]) # print("생년월일 : " + jumin[0:6])
print("뒤 7자리 : " + jumin[7:]) # print("뒤 7자리 : " + jumin[7:14]) 

print("뒤 7자리 (뒤에부터) : " + jumin[-7:]) # -1은 7 -2는 6 -3은 5이다.

print(jumin[-14])

위 예제는 문자열을 슬라이싱 한다.

문자열에서 원하는 문자를 추출하고 싶을 때 사용할 수 있다.(자바의 charAt()와 비슷)

 

[7] : 문자열에 8번째를 추출한다 (0번째 부터 시작)

[0 : 2] : 문자열의 0~1번째를 추출

[2 : 4] : 문자열의 2~3번째를 추출

[ : 6] : 문자열의 처음부터 5번째 까지 추출 (0~5)

[7 : ] : 문자열의 7번째부터 끝까지 추출

[-7 : ] : 역으로 보면 된다 

 

# 출력 결과
성별 : 1
연 : 99
월 : 01
일 : 20
생년월일 : 990120
뒤 7자리 : 1234567
뒤 7자리 (뒤에부터) : 1234567
9

문자열 처리함수
python = "Python is Amazing"
print(python.lower()) #모두 소문자로
print(python.upper()) #모두 대문자로
print(python[0].isupper()) #첫 문자가 대문자냐?
print(python[0].islower()) #첫 문자가 소문자냐?
print(len(python)) # 문자열의 길이
print(python.replace("Python", "Java")) #문자열의 값을 변환해줌

index = python.index("n") #만약 원하는 값이 없다면 오류가 발생
print(index) #n이 몇번째에 있는지 알려줌
index = python.index("n",index + 1) #시작 지점을 정해줄 수 있음
print(index)

print(python.find("n")) #원하는 위치를 알려줌 [만약 원하는 값이 없다면 -1로 반환]

#원하는 값이 없을 때 find는 -1로 index는 오류로 종료

print(python.count("n")) #찾고자 하는 문자(열)가 총 몇변 나오는지 검사.

______.lower() : 모든 문자를 소문자로 변환한다.

______.upper() : 모든 문자를 대문자로 변환한다.

______[i].isupper() : i 번째 문자가 대문자 인가?

______[i].islower() : i 번째 문자가 소문자 인가?

len(______) : 문자열의 길이 (자바에서는 str.length())

______.replace(A,B) : A를 찾아서 B로 바꿔준다. (자바에도 동일한 함수가 있다.)

______.index("A") : A가 어디에 위치해 있는지 알려준다. [만약 없다면 오류를 발생 시킨다.] 

______.index("A", n ) : 문자열 n번째 부터 시작하며 A가 어디에 있는지 알려준다.

______.find("A") : A가 어디에 위치해 있는지 알려준다. [만약 없다면 -1을 반환한다.]

 

index와 find는 문자의 위치를 찾아주는 역할을 한다.

하지만 원하는 값이 없다면 index는 오류(종료)로, find는 -1(반환)로 처리한다.

______.count("A") : A가 문자열에서 몇번이나 나오는지 검사한다.

 

#출력결과

python is amazing
PYTHON IS AMAZING
True
False
17
Java is Amazing
5
15
5
2

 

 

'Python' 카테고리의 다른 글

7. 배열 (리스트/데이터 사전/튜플/set)  (0) 2022.05.03
6. 탈출문자  (0) 2022.05.03
4. 랜덤 함수  (0) 2022.05.02
3. 수학 연산(abs/pow/max/min/round/floor/ceil/sqrt)  (0) 2022.05.02
2. 연산자  (0) 2022.05.02
Comments