【问题标题】:Find how many lines in string查找字符串中有多少行
【发布时间】:2016-01-18 02:31:11
【问题描述】:

我正在创建一个 python 电影播放器​​/制作器,我想查找多行字符串中的行数。我想知道是否有任何内置函数或我可以编写代码来执行此操作:

x = """
line1
line2 """

getLines(x)

【问题讨论】:

标签: python python-3.x


【解决方案1】:

如果换行符是'\n',那么nlines = x.count('\n')

优点是您不需要像.split('\n') 那样创建不必要的列表(结果可能因x.endswith('\n') 而异)。

str.splitlines() 接受更多字符作为换行符:nlines = len(x.splitlines())

【讨论】:

  • str.splitlines() 也不包括最后的换行符/空行(如果有),这通常是首选行为。示例:text = """line1 line2 {empty line}""" print(text.split('\n')) print(text.splitlines()) 结果:['line1', 'line2', ''] ['line1', 'line2']
【解决方案2】:

你可以split()它并找到结果list的长度:

length = len(x.split('\n'))

或者你可以count()换行符的个数:

length = x.count('\n')

或者您可以使用splitlines() 并找到生成的list 的长度:

length = len(x.splitlines())

【讨论】:

    【解决方案3】:

    SPAM\nEGGS\nBEANS = 三行,两行换行

    因此,如果计算行数,请使用 + 1,否则您将创建 fencepost error

    x.count( "\n" ) + 1
    

    【讨论】:

      【解决方案4】:

      你可以这样做:

      len(x.split('\n'))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-01
        相关资源
        最近更新 更多