Ответ 1
Не используйте строку с тремя кавычками, когда вам не нужны дополнительные пробелы, вкладки и символы новой строки.
Используйте неявное продолжение, оно более элегантно:
def f():
s = ('123'
'456')
return s
Как изменить эту функцию для возврата "123456"
?
def f():
s = """123
456"""
return s
ОБНОВЛЕНИЕ: каждый, вопрос заключается в понимании того, как не иметь \t или что-то еще при наличии многострочного комментария, а не как использовать модуль re
.
Не используйте строку с тремя кавычками, когда вам не нужны дополнительные пробелы, вкладки и символы новой строки.
Используйте неявное продолжение, оно более элегантно:
def f():
s = ('123'
'456')
return s
def f():
s = """123\
456"""
return s
Не отступайте ни одной из строк блока после первой строки; конец каждой строки, кроме последней, с обратной косой чертой.
Последующие строки конкатенируются, поэтому вы можете использовать:
def f():
s = ("123"
"456")
return s
Это позволит вам сохранить отступ по своему усмотрению.
textwrap.dedent("""\
123
456""")
Из стандартной библиотеки. Первый "\" необходим, потому что эта функция работает, удаляя общие ведущие пробелы.
Возможно, я пропустил что-то очевидное, но как насчет этого:
def f():
s = """123456"""
return s
или просто это:
def f():
s = "123456"
return s
или даже проще:
def f():
return "123456"
Если это не ответит на ваш вопрос, пожалуйста, уточните, о чем идет речь.
Возможно, вы захотите проверить этот str.splitlines([keepends])
Возвращает список строк в строке, разбивая границы строк. Этот метод использует универсальный подход новых линий к линиям расщепления. Разрывы строк не включаются в результирующий список, если дано и верно.
Python распознает "\ r", "\n" и "\ r\n" в качестве границ строки для 8-битных строк.
Итак, для рассматриваемой проблемы... мы могли бы сделать что-то вроде этого.
>>> s = """123
... 456"""
>>> s
'123\n456'
>>> ''.join(s.splitlines())
'123456'
re.sub('\D+', '', s)
вернет строку, если вы хотите целое число, преобразовать эту строку с помощью int
.
Try
import re
а затем
return re.sub("\s+", "", s)
Мое предположение:
def f():
s = """123
456"""
return u'123456'
Минимальное изменение и запрашивается.