我有一个多行字符串,由脚本生成,该脚本可以从图像创建ASCII艺术。它创建一行,然后添加\r
并继续。如何在不使用正则表达式的情况下获取第一行长度或在它说\r
之前的长度?最好代码相对易读。
我有一个多行字符串,由脚本生成,该脚本可以从图像创建ASCII艺术。它创建一行,然后添加\r
并继续。如何在不使用正则表达式的情况下获取第一行长度或在它说\r
之前的长度?最好代码相对易读。
使用 find
还是 index
?
>>> 'abcfoo\rhahahahaha'.find('\r')
6
>>> 'abcfoo\rhahahahaha'.index('\r')
6
尝试:
first, _, _ = s.partition('\r')
k = len(first)
index
:k = s.index('\r')
这个方法的原理是因为s.index('\r')
返回的是最低索引k
,使得s[k] == '\r'
-- 这意味着在回车符之前有k
个字符(从s[0]
到s[k-1]
),即第一行正好包含k
个字符。
import string
string.split(yourString, '\r')
length = len(string[0])
length = len(string[0])
呢?这将是一个有效的响应并且能够很好地工作。 - Luke Taylor仅供参考,如需另一种解决方案..:
with open('test.txt','r') as f:
t = f.read()
l = t.splitlines()
print(len(l[0]))