удалите начальные нулевые символы из строки в python

#python

Вопрос:

У меня есть строка с ведущими символами NUL, я могу видеть их как null, когда открываю ее в блокноте , иначе она отображается как пустое пространство, но любая из функций полосы в строке не работает, как я могу ее удалить?

 exp=
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      {"asctime": "2021-09-07 18:58:37,645", "name": "Frontend_Tableau", "levelname": "DEBUG", "message": "Extracted Dashboard details from tableau", "type": "dashboard", "Name": "Overview"}
 

это то, что я пробовал

 exp.lstrip()
 

Комментарии:

1. Что, если ты это сделаешь exp = exp.decode('utf-8').lstrip('x00').encode('utf-8') . Кроме того, не забывайте, что lstrip не изменяет значение на месте, поэтому вам придется переназначить его (например exp = exp.lstrip )

2. exp.lstrip() Это действительно работает. >>> >>> exp = " Manjesh" >>> exp ' Manjesh' >>> exp.lstrip() 'Manjesh' Протестировано на терминале Python 3.9 и отлично работает

3. @jkoestinger exp-это строковый тип, поэтому декодирование не поддерживается, могу ли я попробовать exp=exp.lstrip(‘x00’) это правильно?

4. Я перепутал encode , и decode они должны быть перевернуты , но манджеш23, похоже, попытался напрямую

5. @jkoestinger кодирование и декодирование не работает для str obj

Ответ №1:

encode и decode это определенно должно сработать, я провел те же тесты, что и манджеш23:

 >>> int(0).to_bytes(1, 'big')  # Creating a null byte (I don't know how yours is created in the first place)
b'x00'

>>> test = int(0).to_bytes(1, 'big').decode('utf-8')   'hello'  # Storing it as a string

>>> test
'x00hello'

>>> print(test)
hello

>>> test.lstrip('x00')
'hello'

>>> print(test.lstrip('x00'))
hello
 

Если это все еще не работает, я думаю, нам не хватает дополнительной информации