如何从Python中的字符串数组的偏移量中去除前导空格?
我是Python的新手,但我有一个简单的问题。我知道我可以使用lstrip()从字符串中去掉前导空格/制表符。但可以说我有一个字符串str:如何从Python中的字符串数组的偏移量中去除前导空格?
str = '+ 12 3'
我想要的结果是
'+12 3'
我想做到这一点通过调用lstrip原始字符串的子:
str[1:] = str[1:].lstrip()
但我得到以下错误:
Traceback (most recent call last):
File "ex.py", line 51, in <module>
print(Solution().myAtoi(' 12 3'))
File "ex.py", line 35, in myAtoi
str[x:] = str[x:].lstrip()
TypeError: 'str' object does not support item assignment
有没有办法实现这个使用lstrip()?或者我应该考虑另一种做法呢?
根据记录,这仅仅是一个实践本文给出了问题,我试图把它写在Python自学 - 有些朋友说其值得学习
谢谢! :d
您可以在字符串的的+
之前的部分叫str.lstrip
,然后连接第一字符回:
>>> s = '+ 12 3'
>>> s = s[0] + s[1:].lstrip()
>>> s
'+12 3'
恭喜10k! –
@cᴏʟᴅsᴘᴇᴇᴅ对不起,这么晚回来。去睡觉了。虽然早上这是一个不错的惊喜;-)谢谢! –
您可以使用正则表达式:
import re
data = re.sub("(?<=\+)\s+", '', '+ 12 3')
输出:
'+12 3'
说明:
(?<=\+) #is a positive look-behind
\s+ #will match all occurrences of white space unit a different character is spotted.
好的,我正在准备为我的答案添加正则表达式解决方案,但这些更清洁。 +1 –
str
是不可变的类型。你不能改变现有的字符串到位。你可以建立一个新的字符串,并重新分配变量句柄(按名称)。 Christian
已经给了你建立你想要的字符串的细节。
由于您是新手,您应该知道Python字符串是不可变的,因此是错误。 –