在Python中查找字符串中子字符串的特定实例

时间:2014-08-21 16:58:15

标签: python

我们说我有一个格式为

的字符串

"((随机填料在这里))"

如何获得两个括号内的随机填充符?

4 个答案:

答案 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'