python如果以“”或“,”开头则删除字符串的开头

时间:2013-04-15 05:24:57

标签: python

我想做一个函数检查一个字符串是以“”还是“,”开头,然后删除它们直到它到达一个字母为例

我想转动字符串

" , , abcd" into
"abcd"

or ",,,,,      abcd" into
"abcd"

5 个答案:

答案 0 :(得分:5)

使用lstrip()函数:

>>> test = " , , abcd"
>>> test.lstrip(" ,")
'abcd'

感谢谁提醒我。

strip()函数将删除前导和尾随字符

lstrip()函数只会删除前导的

rstrip()函数只会删除尾随的。

答案 1 :(得分:1)

请注意,strip()将从两侧剥离,lstrip()仅从左侧剥离:

>>> " , , abcd".lstrip(' ,')
'abcd'
>>> ",,,,,      abcd".lstrip(' ,')
'abcd'

答案 2 :(得分:0)

如果只有空格和逗号,此处发布的解决方案将有效。如果要删除每个非字母数字字符,可以使用如下所示的正则表达式:

pattern = re.compile(r'^[^\w]+(.*?)[^\w]+$')

或者,如果它只是您要允许的字母,请将\w替换为A-Za-z

pattern = re.compile(r'^[^A-Za-z]+(.*?)[^A-Za-z]+$')

现在使用它,请执行以下操作:

str = re.sub(pattern, '\\1', str)

答案 3 :(得分:0)

In [15]: s = " , , abcd"

In [23]: s.strip(', ')
Out[23]: 'abcd'

In [24]: s = ",,,,,      abcd"

In [25]: s.strip(', ')
Out[25]: 'abcd'

答案 4 :(得分:-1)

我必须使用split函数来执行此操作:

string =“,,,, abcd”

print(string.split(''))[ - 1]