繁体   English   中英

如何在Python中从字符串数组的偏移量中去除前导空格?

[英]How to strip leading whitespaces from an offset of a string array in Python?

我是Python的新手,但是我有一个简单的问题。 我知道我可以使用lstrip()从字符串中去除前导空格/制表符。 但是可以说我有一个字符串str:

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()实现此目的? 还是我应该研究另一种方式?

作为记录,这只是一个leetcode实践问题,我正尝试用Python编写它来教自己-一些朋友说它值得学习

谢谢! :D

您可以在+ 之前的字符串部分调用str.lstrip ,然后将第一个字符串联起来:

>>> s = '+        12  3'
>>> s = s[0] + s[1:].lstrip()
>>> s
'+12  3'

您可以使用正则表达式:

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.

str是不可变的类型。 不能就地更改现有字符串。 可以构建一个新字符串并重新分配变量句柄(按名称)。 Christian已经为您提供了构建所需弦乐的详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM