2015-12-15 4 views
-1

я хочу строку «ABC»Удаление нескольких символов внутри строки

abc="['one']"\n['two']" 

к выходу

one 
two 

, насколько я знаю:

.strip() заменяет только символы на начало и в конце строки

.translate() занимает всего один переменная

.replace() работает только с 1 символом.

+2

«.replace() работает только с 1 символом». Нет, он работает со строками с любым количеством символов. 'x.replace (« привет, я очень длинная строка »,« да, я тоже очень долго »)' так же справедлив, как «x.replace (« X »,« Y »)' – Kevin

+1

yes.I хотел сказать, что он может заменить только одну вещь на другую, будь то строка или символ. – Michael

+0

Вам действительно нужно четко определить, какие символы вы пытаетесь заменить - хотите ли вы сохранить все альфы и возврат каретки, или вы хотите удалить все скобки и цитаты, или ваши требования что-то еще полностью? –

ответ

2

Вы можете использовать re.

import re 
abc = re.sub(r"['\[\]]", '', abc) 

работал для меня.

0

я вроде исправили проблему

abcd=abc.replace("['","") 
abcdf=abcd.replace("']","") 

не идеальное решение, но оно работает

+0

Вы можете, конечно, опустить промежуточный' abdc', используя 'abc.replace (" ['"," ") .replace ("']", "") ', но другой ответ, использующий' re.sub', в любом случае приятнее. –