1

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

我想转弦

" , , abcd" into
"abcd"

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

5 回答 5

5

使用 lstrip() 函数作为:

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

谢谢谁提醒我。

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

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

rstrip() 函数将只删除尾随的一个。

于 2013-04-15T05:26:55.447 回答
1

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

>>> " , , abcd".lstrip(' ,')
'abcd'
>>> ",,,,,      abcd".lstrip(' ,')
'abcd'
于 2013-04-15T05:29:24.660 回答
0

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

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

或者,如果您只想允许使用字母,请替换\wA-Za-z

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

要立即使用它,请执行以下操作:

str = re.sub(pattern, '\\1', str)
于 2013-04-15T05:52:08.420 回答
0
In [15]: s = " , , abcd"

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

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

In [25]: s.strip(', ')
Out[25]: 'abcd'
于 2013-04-15T05:54:08.247 回答
-1

我必须使用拆分功能来做到这一点:

字符串 = ",, ,,, abcd"

打印 (string.split(' '))[-1]

于 2013-04-15T05:45:53.927 回答