在Python中返回字符串中第一个非空白字符的最低索引
在Python中,最简单的方法是什么呢?
string = " xyz"
必须返回索引 = 3
7 个回答
2
看起来那些认为“正则表达式可以做任何事情”的人今天没上班,所以我来补充一下:
>>> tests = [u'foo', u' foo', u'\xA0foo']
>>> import re
>>> for test in tests:
... print len(re.match(r"\s*", test, re.UNICODE).group(0))
...
0
1
1
>>>
顺便说一下:所花的时间是 O(答案),而不是 O(输入字符串的长度)
6
>>> next(i for i, j in enumerate(' xyz') if j.strip())
3
或者
>>> next(i for i, j in enumerate(' xyz') if j not in string.whitespace)
3
在 Python 2.5 之前的版本中,你需要这样做:
(...).next()
51
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个水桶倒到另一个水桶里。
有些时候,数据的格式可能不太一样,就像是一个水桶的口比较大,而另一个水桶的口比较小。这时候,我们就需要想办法把数据转换成合适的格式,这样才能顺利倒进去。
另外,处理数据的时候,我们还需要注意数据的安全性,确保不会出现错误或者丢失数据。这就像是在倒水的时候,要小心不要洒出来。
总之,处理数据的过程需要仔细和耐心,确保每一步都能顺利进行。
>>> s = " xyz"
>>> len(s) - len(s.lstrip())
3