[Python] Как бороться со строкой, заканчивающейся одним обратным слешем? - PullRequest
1 голос
/ 08 ноября 2010

Я получаю некоторый контент из Twitter API, и у меня есть небольшая проблема, действительно, иногда я получаю твит, заканчивающийся только одной обратной косой чертой. Точнее, я использую simplejson для разбора потока Twitter.

Как мне избежать этой обратной косой черты?

Из того, что я прочитал, такой необработанной строки не должно быть ... Даже если я добавлю одну обратную косую черту (с двумя фактически), я все равно получаю ошибку, как я подозревал (так как у меня есть нечетное количество обратной косой черты)

Есть идеи? Я могу просто забыть об этих твитах, но мне все еще интересно это.

Спасибо:)

Ответы [ 4 ]

1 голос
/ 08 ноября 2010

Полагаю, вы ищете метод, похожий на stripslashes в PHP.Итак, поехали:

Python-версия PHP-полосок

1 голос
/ 08 ноября 2010

Вы можете попробовать использовать необработанные строки, добавив r (так что ничего не нужно экранировать) к строке или re.escape () .

Я не совсемуверен, что вам нужно, учитывая, что я не видел текст ответа.Если ни один из методов, которые вы придумали самостоятельно или не получили, не сработает, вам, возможно, придется забыть об этих твитах.

1 голос
/ 08 ноября 2010

Добавление строки к r (расшифровывается как «raw») приведет к удалению всех символов внутри строки. Например:

print r'\b\n\\'

выдаст

\b\n\\

Правильно ли я понял вопрос?

0 голосов
/ 08 ноября 2010

Если вы не обновите свой вопрос и не вернетесь с реальной проблемой, я утверждаю, что у вас нет проблемы, кроме путаницы.

Вы получаете строку из API Tweeter, так что строка делаетне отображается в вашем коде .«Необработанные строки» существуют только в вашем коде, и это «необработанные строки» в коде, которые не могут заканчиваться обратной косой чертой.

Учитывайте следующее:

def some_obscure_api():
    "This exists in a library, so you don't know what it does"
    return r"hello" + "\\" # addition just for fun

my_string = some_obscure_api()
print(my_string)

Видите?my_string счастливо заканчивается обратной косой чертой, и вашему коду все равно.

...