我们说我有一个格式为
的字符串"((随机填料在这里))"
如何获得两个括号内的随机填充符?
答案 0 :(得分:2)
这是regex
解决方案
>>> import re
>>> s = "((Random filler goes here))"
>>> re.search('\(\((.*?)\)\)',s).group(1)
'Random filler goes here'
答案 1 :(得分:1)
如果它始终以参数开始和结束,最简单的方法是切片:
s= "((Random filler goes here))"
print s[2:-2]
如果不是,Cyber的答案将是最合适的
答案 2 :(得分:0)
通过re.split
功能,
>>> import re
>>> s= "((Random filler goes here))"
>>> re.split(r'(?:\)\)|\(\()', s)[1]
'Random filler goes here'
答案 3 :(得分:0)
过于复杂(且不可读)的解决方案,但我确实喜欢itertools。
>>> from itertools import takewhile, filterfalse, dropwhile
>>> s = "sdodsf((NEEDED TEXT))dsfoh"
>>> ''.join(takewhile(lambda c: ')' != c, filterfalse('('.__eq__, (dropwhile(lambda c: c != '(', s)))))
'NEEDED TEXT'