如何获取多行字符串中第一行的长度?

How do I get the length of the first line in a multi line string?

我有一个由脚本生成的多行字符串,该脚本从图像创建 ASCII 艺术作品。它创建一条线,然后添加 \r 并继续前进。如何在不使用正则表达式的情况下获取第一行的长度,或者在它显示 \r 之前?最好代码是相当可读的。

尝试:

first, _, _ = s.partition('\r')
k = len(first)

如果不需要字符串,可以直接使用index:

k = s.index('\r')

这是可行的,因为 s.index('\r') 包含 s[k] == '\r' 的最低索引 k -- 这意味着恰好有 k 个字符(s[0]s[k-1]) 在第一行,在回车 return 字符之前。

findindex

>>> 'abcfoo\rhahahahaha'.find('\r')
6
>>> 'abcfoo\rhahahahaha'.index('\r')
6
import string
string.split(yourString, '\r')
length = len(string[0])

所以我们这里的内容很简单。我们获取您的字符串,并在获得 /r 标记后立即将其拆分。然后,由于所有以 /r 结尾的字符串都在一个数组中,我们只需计算数组中第一个捕获的字符串并将其分配给 var 长度。

以防万一您需要另一种解决方案..:[=​​11=]

with open('test.txt','r') as f:
    t = f.read()
    l = t.splitlines()
    print(len(l[0]))