我想拆分这个字符串def Hello(self,event):
,以便只剩Hello
下分隔符def
,然后我猜是():
. 我怎样才能在python中做到这一点?
user1786283
问问题
148 次
4 回答
4
你在寻找类似的东西
re.findall('^def ([^(]+)', 'def Hello(self, asdf):')
于 2012-10-30T22:31:53.627 回答
2
使用正则表达式模式
^def\s+(\w+)\((.*?)\)
于 2012-10-30T22:32:01.443 回答
1
我建议对此类使用正则表达式(请参阅其他示例),但要在这里回答您的问题是使用以下解决方案split
:
In [1]: str = "def Hello(self,event):"
In [2]: str.split(' ')[1].split('(')[0]
于 2012-10-30T22:37:59.463 回答
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
于 2012-10-30T22:35:02.520 回答