如何在Python中按模式分割字符串
我有一个字符串,看起来像这样:
'Toy Story..(II) (1995)'
我想把这一行分成两部分,像这样:
['Toy Story..(II)','1995']
我该怎么做呢?谢谢。
4 个回答
0
这段代码的意思是……
首先,它做了一些基本的设置,比如定义了一些变量和函数。然后,它会根据这些变量的值来执行不同的操作。接下来,它可能会进行一些循环,也就是重复做某件事情,直到满足特定的条件。最后,它会输出结果,告诉我们程序的运行情况。
总的来说,这段代码就是在处理一些数据,并根据这些数据来做出决策。
l[:-1].split("(")
1
一种方法是这样的:
s = 'Toy Stroy..(II) (1995)'
print s[:s.rfind('(')].strip()
print s[s.rfind('('):].strip("()")
输出结果:
Toy Stroy..(II)
1995
>>>
4
这段代码可以帮助你入门:
'Toy Stroy..(II) (1995)'.rstrip(')').rsplit('(',1)
除此之外,你可以使用 r'\s*[(]\d{4}[)]\s*$'
这个表达式来匹配字符串末尾的四位数字,且这些数字是放在括号里的。如果找到了这个数字,你可以把它去掉:
s = ''
l = [s]
match = re.compile(r'\s*[(]\d+[)]\s*$').search(s)
if match is not None:
l = [s[:len(match.group(0))], s[-len(match.group(0)):].trim]