我这里有这个字符串'+ + + + + R1 VSS VDD GND 3123123'
,需要从中删除所有第一个'+'
个字符。我在这里写了这段代码,
def clear_string(s):
c = "+"
for j in range(0, len(c)):
s = s.replace(c[j], "")
return s
但它会删除字符串中的所有'+'
字符,但我只需要删除第一个'+'
符号,该怎么做?
答案 0 :(得分:5)
您可以使用lstrip()
删除字符串中与给定字符集匹配的任何前导字符。在这种情况下,您要删除'+'
和空格。
<强>演示强>
>>> s = "+ + + + + R1 VSS VDD GND 312312"
>>> s.lstrip("+ ")
'R1 VSS VDD GND 312312'
答案 1 :(得分:1)
s = '+ + + + + R1 VSS VDD GND 3123123'
s.lstrip(' +')
Out[13]: 'R1 VSS VDD GND 3123123'
如果您需要保持前导空格不变:
s.replace('+','',5) #limit the times you do the replace operation, only works if you know how many to do
Out[14]: ' R1 VSS VDD GND 3123123'
答案 2 :(得分:0)
为了完整性,一个简单的正则表达式也会起作用(尽管已经提出的lstrip
对于简单的替换更好):
>>> import re
>>> re.sub(r'^(\+\s*)+', '', '+ + + + + R1 VSS VDD GND 3123123')
'R1 VSS VDD GND 3123123'
>>> re.sub(r'^(\+\s*)+', '', '+ + + + + R1 VSS VDD GND 3123123 ++++')
'R1 VSS VDD GND 3123123 ++++'
答案 3 :(得分:-1)
你可以从头开始运行一个循环,并计算到+符号结束的索引,在这种情况下你得到str [i] =='R'所以现在你的索引来自你的字符串开始的地方使用像str [5:]
这样的切片来获取该部分