Есть ли способ подсчитать количество строк в наборе текста? Например:

text="hello what are you"\
"doing with yourself"\
"this weekend?"

Я хочу посчитать "\ n". Я знаю, что могу посчитать это с помощью обычного Python, но просто интересно, есть ли способ подсчитать это с помощью регулярных выражений?

0
netrate 24 Фев 2018 в 01:43

3 ответа

Лучший ответ

Дополнительное примечание

В вашем случае нет новой строки в text.

Возможно, вы хотели определить

text = """hello what are you
doing with yourself
this weekend?"""

< Сильный > Ответ

Вам не нужно регулярное выражение.

Просто используйте text.count("\n") ~

Редактировать: О, неважно. Вам это нужно, чтобы быть регулярным выражением?

len(re.findall("\n", text)) должен работать

2
Yotam Salmon 23 Фев 2018 в 22:47

Вы также можете использовать перечисление для подсчета строк в файле следующим образом:

with open (file, "r") as fp:
    for cnt, _ in enumerate (fp,1):
        pass
    print(cnt)
1
LetzerWille 28 Окт 2018 в 08:30

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

Запустите re.findall() и посчитайте результаты.

len(re.findall('\n', text))

Например, на моем компьютере с Linux:

In [5]: with open('/etc/passwd') as fp: text = fp.read()

In [6]: len(re.findall('\n', text))
Out[6]: 56

Но на самом деле, почему бы вам? Как вы указываете, уже есть лучшие способы сделать это.

0
Robᵩ 23 Фев 2018 в 22:46