如何在python中拆分匹配模式的字符串

时间:2009-11-11 08:46:47

标签: python string split

我的字符串看起来像这样:

'Toy Story..(II) (1995)'

我想将这条线分成两部分:

['Toy Story..(II)','1995']

我该怎么办?感谢。

4 个答案:

答案 0 :(得分: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]

答案 1 :(得分:1)

一种方法是:

s = 'Toy Stroy..(II) (1995)'
print s[:s.rfind('(')].strip()
print s[s.rfind('('):].strip("()")

输出:

Toy Stroy..(II)
1995
>>> 

答案 2 :(得分:0)

您可以使用正则表达式。见这里:http://www.amk.ca/python/howto/regex/

或者您可以使用拆分功能,然后手动删除括号或其他不需要的字符。见这里:http://www.python.org/doc/2.3/lib/module-string.html

答案 3 :(得分:0)

l[:-1].split("(")