#python #python-3.x #string #re
Вопрос:
От spam/eggs
до spam/eggs
# This isn't working...
str = "spam/eggs"
s = bytes(str, "utf-8").decode("unicode_escape")
print(s)
>>> spam/eggs
# How to get "spam/eggs"
Комментарии:
1. Проверьте
"spam/eggs".encode().decode()
, ответило ли это на ваш вопрос ?2.
bytes("spam/eggs", "utf-8").decode("unicode_escape") == "spam/eggs"
Ответ №1:
В python вы не можете использовать»», потому что python подумает, что вы добавите что-то после него, например «t», «n » и т. Д. Таким образом, вы можете использовать дополнительную обратную косую черту в строке: string = 'spam\/eggs'
Я не думаю, что это самый эффективный способ сделать это по-другому, но вы можете это сделать:
strs = 'spam/eggs'
print(strs)
strs = strs.replace('\','')
print(strs)
Я просто удалил
его, заменив пустой строкой.
Ответ №2:
Вы можете использовать регулярные выражения.
Чтобы удалить, в частности, специальный символ, вы должны указать для регулярного выражения
import re
myString = "spam/eggs"
str2 = re.sub(r'\', "", myString) # remove this character ''
print(str2)
# spam/eggs
Общее назначение (удаление определенных символов) :
import re
myString = "spamp;a m/eg*gs"
str2 = re.sub(r'[\amp; *]', "", myString) # to remove what you want into the brackets
print(str2)
# spam/eggs
Комментарии:
1. Спасибо. Я думаю, что это более точно
str2 = re.sub(r'\/', "/", myString)
для общих целей
Ответ №3:
str = "spam/eggs"
str2 = bytes(str, "utf-8").decode("unicode_escape")
print(str2)
Кстати: вам следует более тщательно поместить код в вопрос; тогда вы вызываете переменную str
myString
, а затем вторую переменную str2
str1