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