2014-12-16 6 views
1

그렇게 할 방법이 있습니까? 이것이 제가 작성한 코드입니다. 내가 얻고문자열에서 특정 문자를 제거하려면 어떻게합니까?

import string 

Finn = "It's Adventure Time!" 
punctuation = string.punctuation 
print(punctuation) 
for punc in punctuation: 
    if punc in Finn: 
     Finn[18] = ' ' 
print(Finn) 

오류는 다음과 같습니다 :

TypeError: 'str' object does not support item assignment 

답변

1

나는 당신이 기대하고 희망 :

import string 

Finn = "It's Adventure Time!" 
punctuation = string.punctuation 
print(punctuation) 
for punc in punctuation: 
    if punc in Finn: 
     Finn = Finn.replace(punc, "") 

print(Finn) 
+0

을'Finn'에서 punc이 :) 필요 –

+0

안 경우 @ DaveJ, 네 .. 맞아. 내가 할 수있는 한 코드를 변하지 않게하려고했다. – aerokite

0

한 매우 짧은 변형 또한, 파이썬의 최신 버전을 사용하고 있습니다 is :

import string 

finn = "It's Adventure Time!" 
print(finn) 
table = str.maketrans("","",string.punctuation) 
finn = finn.translate(table) 
print(finn) 

이 솔루션은 (영업 태그로) 파이썬 3. 내가의

+0

"AttributeError : type 객체 'str'에 'maketrans'속성이 없다." – aerokite

+0

@AerofoilKite : 당신은 python3을 사용하고 있습니까? ? 그것은 나를 위해 작동합니다. – PeterE

+0

오 !! 파이썬 2.7 사용하고 있습니다; 아마도이 경우 버전을 언급해야 할 것입니다. 고맙습니다 – aerokite

0

최단 하나를 생각할 수있는 필요 P

import string 
finn = "It's Adventure Time!" 
finn = ''.join(i for i in finn if i not in string.punctuation) 
관련 문제