删除左侧第一个连字符之后的所有内容



我一直在尝试删除第三个之后的所有内容 - 从字符串的左侧,包括 -

示例 我的字符串有

输入: 苏库马尔-123-656-321-421

输出; 苏库马尔-123

要求是始终从字符串的最后 3 个连字符中删除所有内容。

下面是使用正则表达式的解决方案:模式(-[^-]*)匹配连字符后跟任意数量的非连字符,{3}使其连续匹配三次,$使其仅在字符串末尾匹配。

>>> import re
>>> pattern = re.compile('(-[^-]*){3}$')
>>> pattern.sub('', 'sukumar-123-656-321-421')
'sukumar-123'

试试这个:

def func(x):
return '-'.join(x.split('-')[:-3])

最新更新