如何删除字符串的前几个字符?

时间:2014-02-05 16:24:35

标签: python string replace

我这里有这个字符串'+ + + + + R1 VSS VDD GND 3123123',需要从中删除所有第一个'+'个字符。我在这里写了这段代码,

def clear_string(s):
    c = "+"
    for j in range(0, len(c)):
        s = s.replace(c[j], "")
    return s

但它会删除字符串中的所有'+'字符,但我只需要删除第一个'+'符号,该怎么做?

4 个答案:

答案 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:]

这样的切片来获取该部分