如何获取多行字符串中第一行的长度?
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 字符之前。
与find
或index
?
>>> '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]))
我有一个由脚本生成的多行字符串,该脚本从图像创建 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 字符之前。
与find
或index
?
>>> '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]))