如何在Python中按模式分割字符串

1 投票
4 回答
2571 浏览
提问于 2025-04-15 15:53

我有一个字符串,看起来像这样:

'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]

撰写回答