我想让一个函数检查一个字符串是否以“”或“”开头,然后删除它们直到它到达一个字母,例如
我想转弦
" , , abcd" into
"abcd"
or ",,,,, abcd" into
"abcd"
我想让一个函数检查一个字符串是否以“”或“”开头,然后删除它们直到它到达一个字母,例如
我想转弦
" , , abcd" into
"abcd"
or ",,,,, abcd" into
"abcd"
使用 lstrip() 函数作为:
>>> test = " , , abcd"
>>> test.lstrip(" ,")
'abcd'
谢谢谁提醒我。
strip() 函数将删除前导字符和尾随字符
lstrip() 函数将只删除前导的
rstrip() 函数将只删除尾随的一个。
请注意,strip()
将从两侧剥离,lstrip()
仅从左侧剥离:
>>> " , , abcd".lstrip(' ,')
'abcd'
>>> ",,,,, abcd".lstrip(' ,')
'abcd'
如果只有空格和逗号,此处发布的解决方案将起作用。如果要删除每个非字母数字字符,可以使用如下正则表达式:
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)
In [15]: s = " , , abcd"
In [23]: s.strip(', ')
Out[23]: 'abcd'
In [24]: s = ",,,,, abcd"
In [25]: s.strip(', ')
Out[25]: 'abcd'
我必须使用拆分功能来做到这一点:
字符串 = ",, ,,, abcd"
打印 (string.split(' '))[-1]