sm 기술 블로그
5. 문자열(슬라이싱/문자열 처리함수) 본문
슬라이싱
연속적인 객체(리스트, 튜플, 문자열)들의 범위를 지정해 원하는 값만 뽑는 것
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 |