Development/Python3..x

[python3.x-study] 문자열 처리 함수 (2) - replace, find, index, count

louky 2021. 3. 24. 18:19
반응형

- replace 

python에서 특정 단어나 특정 문자열을 다른 단어나 문자열로 대체하는 방법이다.


replace("찾을단어 또는 문자열", "대체할 단어 또는 문자열"))

>>> python_str = "Python is Amazing"
>>> print (python_str.replace("Python", "Java"))
Java is Amazing
>>> print (python_str.replace("n", "N"))
PythoN is AmaziNg

 

- find

특정 문자열이 있는 위치를 출력한다. 

>>> python_str = "Python is Amazing"
>>> print (python_str.find("A"))   
10
>>> print (python_str.find("a"))
12
>>> print (python_str.find("i"))
7
>>> print (python_str.find("I"))    #### 찾고자 하는 문자열이 없을 경우 -1을 출력한다. 
-1
>>>

문자열이 아닌 단어일  경우에는 아래와 같이 출력된다. 

find함수의 경우 단어에 대해서도 출력을 해주긴하다 문자열과 다르게 위치를 출력 해주는 것이 아니라 0또는 -1로 출력을 해주며 대/소문자를 구분하기에 대/소문자가 틀리기만 해도 -1을 출력한다. 

>>> print (python_str.find("Python"))    ### 단어가 있을 경우 0으로 출력
0

>>> print (python_str.find("python"))    ### 대소문자를 구분하기에 하나라고 없을 경우 -1을 출력
-1

 

- index

index함수도 find 함수와 비슷하게 문자열의 위치를 출력한다. 

>>> python_str = "Python is Amazing"
>>> print (python_str.index("P"))
0
>>> print (python_str.index("y"))
1
>>> print (python_str.index("a"))
12


#### 문자열도 find와 비슷하게 출력한다. 
>>> print (python_str.index("Python"))
0

 하지만, find에서는 문자열이 없을 경우 -1로 출력했다면 index에서는 Error를 출력하면서 실행을 멈춘다. 

>>> print (python_str.index("f"))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found


### 단어도 마찬가지
>>> print (python_str.index("python"))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

find와 index 함수간에 비슷한 부분도 있지만 분명히 다른 부분도 있기에 상황에 맞게 또는 유의하여 사용해야 한다. 

 

 

- count

특정 문자열 또는 단어의 갯수를 count 한다. 

>>> python_str = "Python is Amazing / Python"
>>> print (python_str.count("n"))     ### 해당 문장안에 n이 몇개나 있는지 count
3

### 문자열 뿐만 아니라 단어도 count한다. 
>>> print (python_str.count("Python")) ### 해당 문장안에 "Python" 단어가 몇개나 있는지 count
2
>>>

 

반응형