25번째 줄:
25번째 줄:
|\"
|\"
|쌍따옴표
|쌍따옴표
−
|}문자열을 'C:\경로\note' 라고 기입할 때 \n을 개행으로 인식하여 줄을 바꾸어버리곤 한다. 이러한 사태를 막기 위해선 문자열 앞에 <code>r'내용'</code> 형태로 앞에 r을 붙이면 이스케이프 코드를 사용하지 않고 입력한 그대로 나타난다.
+
|}문자열을 'C:\경로\note' 라고 기입할 때 \n을 개행으로 인식하여 줄을 바꾸어버리곤 한다. 이러한 사태를 막기 위해선 문자열 앞에 <code>r'내용'</code> 형태로 앞에 r을 붙이면 이스케이프 코드를 사용하지 않고 입력한 그대로 나타난다.(r은 Raw string을 의미하는 것)
=문자열의 사용 =
=문자열의 사용 =
===따옴표 사용===
===따옴표 사용===
91번째 줄:
91번째 줄:
|
|
|}
|}
−
===다른 방식의 포메팅===
+
===format===
문자열 포멧코드 대신 <code>"오늘 {}교시는 {}시간입니다.".format(5, "과학")</code> 형태로 쓸 수도 있다. 데이터가 무너질 확률은 커지지만, 유연성이 크다.
문자열 포멧코드 대신 <code>"오늘 {}교시는 {}시간입니다.".format(5, "과학")</code> 형태로 쓸 수도 있다. 데이터가 무너질 확률은 커지지만, 유연성이 크다.
−
이게 진짜 유용하다. 웹크롤링이나 문자를 다루는 데 굉장한 편의성을 제공한다.
+
이게 진짜 유용하다. 웹크롤링이나 문자를 다루는 데 굉장한 편의성을 제공한다. <code>"제가 사는 도시는 {city} 입니다. 이곳은 {deg}도 입니다.".format(city="값", deg=5)</code> 형태로 기입도 가능하다.
+
+
==== 숫자 3자리 마다 콤마 찍기 ====
+
금액을 표현할 때 숫자 3개마다 콤마가 있으면 가독성이 올라간다. <code>format(대상숫자, ',')</code> 형태로 간단하게 구현이 가능하다.
+
+
=== f-string 표현 ===
+
문자열 앞에 f를 붙여 <code>f"{변수}는 {변수2}입니다."</code> 형태로 직관적인 사용이 가능하다.
+
==문자열 관련함수==
==문자열 관련함수==
{| class="wikitable"
{| class="wikitable"
117번째 줄:
124번째 줄:
|replace
|replace
|특정 문자를 바꾸고자 할 때.
|특정 문자를 바꾸고자 할 때.
−
|문자열.replace("찾을문자", "바꿀문자")
+
|문자열 = 문자열.replace("찾을문자", "바꿀문자")
|-
|-
|split
|split
|특정 문자열을 기준으로 문자들을 나누고자 할 때.
|특정 문자열을 기준으로 문자들을 나누고자 할 때.
−
|문자열.split("나눌문자")
+
|문자열 = 문자열.split("나눌문자")
|-
|-
|join
|join
|특정 문자열을 사이에 두고 합칠 때.
|특정 문자열을 사이에 두고 합칠 때.
ex) 2021, 03, 22 형태의 파편화된 날짜데이터를 보기 좋게 합쳐줌.
ex) 2021, 03, 22 형태의 파편화된 날짜데이터를 보기 좋게 합쳐줌.
−
|'사이문자'.join(리스트)
+
|문자열 = '사이문자'.join(리스트)
|}
|}
==정규표현식==
==정규표현식==
148번째 줄:
155번째 줄:
</syntaxhighlight>
</syntaxhighlight>
|-
|-
−
|
+
|특수문자를 지정하고 싶을 때
−
|
+
|!, ,, ?, *등의 문자를 매칭할 때.
−
|
+
|영어와 ?, !, ,, 만 뽑아낼때.<syntaxhighlight lang="python">
+
import re # 정규표현식을 사용하게 해주는 모듈.
+
...
+
for one_word in text:
+
filtered = re.sub('[^a-zA-Z0-9\?\!\,\.]', ' ', one_word) # 글자 하나하나 비교해 영어+숫자만 추출. 아니면 공백.
+
filtered_text = filtered_text + filtered # 통과된 글자만 담아준다.
+
+
</syntaxhighlight>
|-
|-
|
|