我想做一个函数检查一个字符串是以“”还是“,”开头,然后删除它们直到它到达一个字母为例
我想转动字符串
" , , abcd" into
"abcd"
or ",,,,, abcd" into
"abcd"
答案 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]