将字符串从一个点拆分到另一个点(不同的分隔符)

时间:2012-10-30 22:27:49

标签: python regex split

我想拆分此字符串def Hello(self,event):以便只留下Hello,分隔符首先为def,然后我猜():。我怎么能在python中做到这一点?

4 个答案:

答案 0 :(得分:4)

你在寻找像

这样的东西吗?
re.findall('^def ([^(]+)', 'def Hello(self, asdf):')

答案 1 :(得分:2)

使用正则表达式

^def\s+(\w+)\((.*?)\)

答案 2 :(得分:1)

我建议使用正则表达式来做这样的事情(参见其他示例),但是在这里回答你的问题是使用split的解决方案:

In [1]: str = "def Hello(self,event):"
In [2]: str.split(' ')[1].split('(')[0]

答案 3 :(得分:0)

以下是使用正则表达式的一个选项:

import re
re.search(r'def\s+([^)\s]*)\s*\(', your_string).group(1)

示例:

>>> re.search(r'def\s+([^)\s]*)\s*\(', 'def Hello(self, asdf):').group(1)
'Hello'
>>> re.search(r'def\s+([^)\s]*)\s*\(', 'def  Hello  (self, asdf):').group(1)
'Hello'

说明:

def         # literal string 'def'
\s+         # one or more whitespace characters
(           # start capture group 1
  [^)\s]*     # any number of characters that are not whitespace or '('
)           # end of capture group 1
\s*         # zero or more whitespace characters
\(          # opening parentheses