我一直在尝试删除第三个之后的所有内容 - 从字符串的左侧,包括 -
示例 我的字符串有
输入: 苏库马尔-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])