본문 바로가기

_Programming/Python

Basic.문자열처리

# 문자열
sentence = '나는 소년입니다.'
print(sentence)
sentence2 = "파이썬은 좁밥"
print(sentence2)
sentence3 = """
나는 소년이고,
파이썬은 좁밥
"""
print(sentence3)


# 슬라이싱
jumin = "911203-1234567"
print("성별 : " + jumin[7])
print("연 : " + jumin[0:2]) # 0번째부터 2번째 직전까지
print("월 : " + jumin[2:4])
print("일 : " + jumin[4:6])

print("생년월일 : " + jumin[0:6]) 
print("생년월일 : " + jumin[:6])

print("뒤7자리 : " + jumin[7:14])
print("뒤7자리 : " + jumin[7:])
print("뒤7자리 : " + jumin[-7:]) # 맨뒤부터 가져오기 : 맨 뒤에서 7번째부터 끝까지


# 문자열처리함수
python = "Python is Amazing"
print(python.lower())
print(python.upper())
print(python[0].isupper())
print(len(python))
print(python.replace("Python", "java"))

index = python.index("n")
print(index)
index = python.index("n", index + 1) #앞에 찾은 다섯번째 그 뒤 여섯번째 자리부터 찾음.
print(index)

print(python.find("Java")) # 찾는게 없는 경우 -1을 반환하고 다음 내용이 계속됌.
#print(python.index("Java")) 찾는게 없는 경우 오류가 뜨고 다음 내용도 안뜸.

print(python.count("n"))


# 문자열포맷
print("a" + "b")
print("a","b")

 # 방법 1 : % 사용하기.
print("나른 %d입니다." % 30) # %d는 항상 정수값을 의미한다.
print("나는 %s을 좋아한다." % "Python") # %s는 문자열 값을 의미한다. 
print("Apple은 %c로 시작해요." % "A") # %c는 항상 한 글자를 의미한다.
print("나는 %s입니다." % 30) # %s는 이 경우에도 사용이 가능하다.
print("나는 %s색과 %s색을 좋아해요." % ("노랑", "검은")) # %s는 두 개도 사용할 수 있다.

 # 방법2 : .format 사용하기
print("나는 {}입니다." .format(20))
print("나는 {}색과 {}색을 좋아해요." .format("노랑", "검은")) # %s는 두 개도 사용할 수 있다.
print("나는 {0}색과 {1}색을 좋아해요." .format("노랑", "검은")) # 순서가 노랑 --> 검은
print("나는 {1}색과 {0}색을 좋아해요." .format("노랑", "검은")) # 순서가 검은 --> 노랑

 # 방법3 : 변수처럼 사용하기
print("나는 {age}이며, {color}색을 좋아해요." .format(age = 30, color = "노랑"))
print("나는 {age}이며, {color}색을 좋아해요." .format(color = "노랑", age = 30))

 # 방법4 : 변수 선언 후 print에 f 사용하기
age = 30
color = "노랑"
print(f"나는 {age}이며, {color}색을 좋아해요.")


# 탈출문자 
 # \n
print("백문이 불여일견\n백견이 불여일타")

 # \" \" or \' \' ---->  저는 "표고"입니다. 표현하기.
print("저는 '표고'입니다.")
print('저는 "표고"입니다.')
print("저는 \"표고\" 입니다.")
print("저는 \'표고\' 입니다.")
 
 # \\ : 문장내에서 \로 표현됌. ---> 버전 업글 이후라 오류안뜸.
print("C:\_ai\python\workspace>") 
print("C:\\_ai\\python\\workspace>")
 
 # \r : 커서를 맨 앞으로 이동     (대체랑 비슷...???)
print("Red Apple\rPine") #PineApple
 
 # \b : 백스페이스 (한 글자 삭제)
print("Redd\bApple") #RedApple

 # \t : 탭 (탭처럼 띄어쓰기 효과)
print("Rde\tApple")  #Red   Apple


# Quiz : 사이트별로 비밀번호를 만들어 주는 프로그램을 작성하시오.
 # 예) http://naver.com
 # 규칙1 : http:// 부분은 제외 => naver.com
 # 규칙2 : 처음 만나는 점(.) 이후 부분은 제외 => naver
 # 규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e' 갯수 + "!" 로 구성
 #                (nav)                (5)            (1)            (!)
 # 예) 생성된 비밀번호 : nav51!

# mine_sol
name = "hanmail.com"
site = "http://" + name
password = site[7:site.index(".")]
password = password[0:3]+str(len(password)) + str(site.count("e")) + "!" 
print("{}의 비밀번호는 {}입니다.".format(site,password))

# other_sol
url = "http://naver.com"
my_str = url.replace("http://", "")  
my_str = my_str[:my_str.index(".")]
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!" 
print("{0}의 비밀번호는 {1}입니다.".format(url,password))

 

 

 

 

 

출처: www.youtube.com/watch?v=kWiCuklohd

 

 

'_Programming > Python' 카테고리의 다른 글

Basic.함수  (0) 2020.09.09
Basic.제어문  (0) 2020.09.08
Basic.자료구조  (0) 2020.09.07
Basic.연산자  (0) 2020.09.03
Basic. 자료형  (0) 2020.09.02