如何使用python和正则表达式计算多少\ n(新行)?

时间:2018-02-23 22:43:50

标签: python expression multiline

有没有办法计算一组文本中的行数?例如:

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

我想算“\ n”。我知道我可以使用常规python来计算它,但只是想知道是否有一种方法可以使用正则表达式来计算它?

3 个答案:

答案 0 :(得分:2)

旁注

在您的情况下,text中没有换行符。

可能你想定义

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

<强>答案

你不需要正则表达式。

只需使用text.count("\n")

编辑:哦,没关系。你需要它是一个正则表达式吗?

len(re.findall("\n", text))应该有效

答案 1 :(得分:1)

您还可以使用枚举来计算文件中的行,如下所示:

with open (file, "r") as fp:
    for cnt, _ in enumerate (fp,1):
        pass
    print(cnt)

答案 2 :(得分:0)

是的,您可以使用正则表达式来计算换行符。

运行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

但是真的,你为什么这样?正如您所指出的,已经有更好的方法来实现它。