我有一个由从图像创建 ASCII 艺术的脚本生成的多行字符串。它创建一条线,然后添加\r
并继续。如何在\r
不使用正则表达式的情况下获得第一行的长度,或者在它说之前?最好代码是相当可读的。
问问题
3381 次
4 回答
4
与find
或index
?
>>> 'abcfoo\rhahahahaha'.find('\r')
6
>>> 'abcfoo\rhahahahaha'.index('\r')
6
于 2015-05-24T21:13:17.773 回答
3
尝试:
first, _, _ = s.partition('\r')
k = len(first)
如果您不需要字符串,则可以使用index
:
k = s.index('\r')
之所以有效,是因为s.index('\r')
它包含最低索引k
,这意味着在回车符之前的第一行s[k] == '\r'
正好有k
字符(s[0]
through )。s[k-1]
于 2015-05-24T21:12:53.073 回答
1
import string
string.split(yourString, '\r')
length = len(string[0])
所以我们在这里所拥有的是直截了当的。我们获取您的字符串,并在获得 /r 标记后立即将其拆分。然后,由于所有以 /r 结尾的字符串都在一个数组中,我们只需计算数组中第一个捕获的字符串并将其分配给 var 长度。
于 2015-05-24T21:15:09.817 回答
1
以防万一您需要另一种解决方案..:
with open('test.txt','r') as f:
t = f.read()
l = t.splitlines()
print(len(l[0]))
于 2015-05-24T21:24:02.543 回答