Python을 사용하여 문자열에서 문자를 삭제하는 방법
예를 들어 문자열이 있습니다. EXAMPLE
.
가운데 문자를 제거하려면 어떻게 해야 하나요?M
어떻게 할 수 있을까요?암호는 필요 없어알고 싶다:
- Python 문자열은 특수문자로 끝납니까?
- 모든 것을 가운데 글자에서 왼쪽 글자로 바꾸거나 새 줄을 만드는 방법, 가운데 글자를 베끼지 않는 방법 중 어느 것이 더 나은 방법일까요?
Python에서는 문자열은 불변하기 때문에 새로운 문자열을 작성해야 합니다.새 문자열 작성 방법에는 몇 가지 옵션이 있습니다.'M'이 표시되는 위치에 관계없이 삭제할 경우:
newstr = oldstr.replace("M", "")
중앙 문자를 삭제하는 경우:
midlen = len(oldstr) // 2
newstr = oldstr[:midlen] + oldstr[midlen+1:]
문자열이 특수 문자로 끝나냐고 물어보셨는데요.아니요, 당신은 C 프로그래머처럼 생각하고 있어요.Python에서 문자열은 길이와 함께 저장되므로 다음을 포함한 모든 바이트 값\0
는 문자열로 표시할 수 있습니다.
특정 위치를 바꾸려면:
s = s[:pos] + s[(pos+1):]
특정 문자를 바꾸려면:
s = s.replace('M','')
이것이 가장 좋은 방법일 것입니다.
original = "EXAMPLE"
removed = original.replace("M", "")
캐릭터 이동 같은 건 걱정하지 마세요.대부분의 Python 코드는 훨씬 더 높은 수준의 추상화에서 발생합니다.
끈은 불변이다.그러나 목록을 목록으로 변환하고, 목록을 변경한 후 다시 문자열로 변환할 수 있습니다.
s = "this is a string"
l = list(s) # convert to list
l[1] = "" # "delete" letter h (the item actually still exists but is empty)
l[1:2] = [] # really delete letter h (the item is actually removed from the list)
del(l[1]) # another way to delete it
p = l.index("a") # find position of the letter "a"
del(l[p]) # delete it
s = "".join(l) # convert back to string
기존 문자열에서 원하는 문자를 제외한 모든 문자를 가져와 다른 문자열에서 보여 주듯이 새 문자열을 만들 수도 있습니다.
중간 문자, 즉 M을 제거하려면 어떻게 해야 합니까?
Python의 문자열은 불변하기 때문에 할 수 없습니다.
Python 문자열은 특수문자로 끝납니까?
아니요. 이들은 문자 목록과 비슷합니다. 목록의 길이가 문자열의 길이를 정의하며 종단자로 기능하는 문자는 없습니다.
모든 것을 가운데 글자에서 왼쪽 글자로 바꾸거나 새 줄을 만드는 방법, 가운데 글자를 베끼지 않는 방법 중 어느 것이 더 나은 방법일까요?
기존 문자열은 수정할 수 없으므로 중간 문자를 제외한 모든 문자열이 포함된 새 문자열을 생성해야 합니다.
다음 방법을 사용합니다.
>>> s = 'EXAMPLE'
>>> s.translate(None, 'M')
'EXAPLE'
def kill_char(string, n): # n = position of which character you want to remove
begin = string[:n] # from beginning to n (n not included)
end = string[n+1:] # n+1 through end of string
return begin + end
print kill_char("EXAMPLE", 3) # "M" removed
여기 어디선가 본 적 있어요.
card = random.choice(cards)
cardsLeft = cards.replace(card, '', 1)
문자열에서 1개의 문자를 삭제하는 방법:다음으로 문자열에 문자로 표현된 카드 스택이 있는 예를 나타냅니다.그 중 하나가 그려집니다(랜덤용 랜덤모듈 Import).choice() 함수는 문자열에서 임의의 문자를 선택합니다).string 함수 replace()에 의해 주어진 나머지 카드를 유지하기 위해 새로운 문자열 cardsLeft가 생성됩니다.여기서 마지막 파라미터는 빈 문자열로 치환되는 것은 1개뿐임을 나타냅니다.
Python 2에서는 UserString을 사용할 수 있습니다.MutableString을 사용하면 다음과 같이 변경할 수 있습니다.
>>> import UserString
>>> s = UserString.MutableString("EXAMPLE")
>>> type(s)
<class 'UserString.MutableString'>
>>> del s[3] # Delete 'M'
>>> s = str(s) # Turn it into an immutable value
>>> s
'EXAPLE'
MutableString
파이썬 3호
또 다른 방법은 기능을 사용하는 것입니다.
아래는 함수를 호출하는 것만으로 문자열에서 모든 모음을 제거하는 방법입니다.
def disemvowel(s):
return s.translate(None, "aeiouAEIOU")
M을 잘라내기 위해 한 일은 다음과 같습니다.
s = 'EXAMPLE'
s1 = s[:s.index('M')] + s[s.index('M')+1:]
를 char
★★★sub-string
1회(첫 번째 항목만):
main_string = main_string.replace(sub_str, replace_with, 1)
모: note1
할 수 int
바꿀 오카렌스 수를 지정합니다.
목록 이해는 간단히 사용할 수 있습니다.
,여러분,여러분,여러분,여러분,여러분,끈이있다라고생각해보세요.my name is
이 글자를 .m
합니다. 다음 코드를 사용합니다.
"".join([x for x in "my name is" if x is not 'm'])
문자열 내의 문자를 삭제/무시하고 싶은 경우, 예를 들어 이 문자열이 있는 경우,
[11:L:0]
예를 들어 CSV 파일 등의 웹 API 응답에서 요청을 사용하고 있다고 가정해 보겠습니다.
import requests
udid = 123456
url = 'http://webservices.yourserver.com/action/id-' + udid
s = requests.Session()
s.verify = False
resp = s.get(url, stream=True)
content = resp.content
루프하여 불필요한 문자를 삭제합니다.
for line in resp.iter_lines():
line = line.replace("[", "")
line = line.replace("]", "")
line = line.replace('"', "")
분할 옵션을 선택하면 값을 개별적으로 읽을 수 있습니다.
listofvalues = line.split(':')
이제 각 값에 쉽게 액세스할 수 있습니다.
print listofvalues[0]
print listofvalues[1]
print listofvalues[2]
이것은 인쇄됩니다.
11
L
0
의 새로운 이 에 .Python 3.9+
#str.removeprefix("prefix_to_be_removed")
#str.removesuffix("suffix_to_be_removed")
s='EXAMPLE'
이 경우 'M'의 위치는 3입니다.
s = s[:3] + s[3:].removeprefix('M')
또는
s = s[:4].removesuffix('M') + s[4:]
#output'EXAPLE'
from random import randint
def shuffle_word(word):
newWord=""
for i in range(0,len(word)):
pos=randint(0,len(word)-1)
newWord += word[pos]
word = word[:pos]+word[pos+1:]
return newWord
word = "Sarajevo"
print(shuffle_word(word))
문자열은 Python에서 불변하기 때문에 두 옵션 모두 기본적으로 같은 것을 의미합니다.
언급URL : https://stackoverflow.com/questions/3559559/how-to-delete-a-character-from-a-string-using-python
'programing' 카테고리의 다른 글
Windows 10에서 MariaDB에 대한 쿼리 로깅 (0) | 2022.10.08 |
---|---|
OSX 10.6에서 Python 및 Django와 함께 MySQLdb를 사용하는 방법 (0) | 2022.10.08 |
matplotlib의 산점도에서 각 열에 대해 다른 색상 설정 (0) | 2022.10.08 |
를 참조해 주세요.Unmarshal Exception: 예기치 않은 요소(uri:", 로컬:"Group") (0) | 2022.10.08 |
Fetch GET 요청을 사용하여 쿼리 문자열 설정 (0) | 2022.10.08 |