2016-05-26 1 views
1

Я разбираю кучу HTML и встречаю много «\ n» и «\ t» внутри кода. Так что я используюДобавление нового метода string в Python

"something\t\n here".replace("\t","").replace("\n","") 

Это работает, но я часто его использую. Есть ли способ определить функцию строки, вдоль линий заменить себя (или найти, индекс, формат и т.д.), который будет довольно мой код немного, что-то вроде

"something\t\n here".noTabsOrNewlines() 

Я попытался

class str: 
    def noTabNewline(self): 
     self.replace("\t","").replace("\n","") 

но это было бесполезно. Спасибо за любую помощь.

+0

Вы находитесь на пути к созданию класса и используете способ выполнения вашей функции. Убедитесь, что вы читали о классах и объектах. – WildCard

+1

https://github.com/clarete/forbiddenfruit <- here be dragons – wim

+0

Что об использовании 'noTabsOrNewlines (« что-то \ t \ n здесь »)' вместо? –

ответ

1

В то время как вы могли бы сделать что-то вдоль этих линий (https://stackoverflow.com/a/4698550/1867876), тем больше Pythonic, что нужно сделать будет:

myString = "something\t\n here" ' '.join(myString.split())

Вы можете видеть эту тему для получения дополнительной информации: Strip spaces/tabs/newlines - python

+0

Я возьму это, потому что это довольно, и это то, что я хотел, хотя мое любопытство остается для добавления методов к «чему-то» (или [somethings] или (somethings), если на то пошло) –

+0

Вы можете увидеть это предыдущее сообщение на http: //stackoverflow.com/a/4698550/1867876. Я обновил свой ответ, чтобы включить это выше. –

1

вы можно попробовать encoding = 'utf-8'. иначе, на мой взгляд, нет другого пути, кроме его замены. python также заменяет его пробелами '/ xa0', поэтому в любом случае вам нужно его заменить. мы можем прочитать его по строкам через (readline()), а не просто читать().

Смежные вопросы