在Python中获取两个字符之间的字符串
我需要从一个字符串中提取出特定的词,并把它们转换成新的格式。例如,我调用这个函数时输入:
text2function('$sin (x)$ is an function of x')
然后我需要把它们放到一个叫做StringFunction的地方:
StringFunction(function, independent_variables=[vari])
在这里,我只需要提取出' sin (x)'作为函数,以及'x'作为变量。最后的结果应该是这样的:
StringFunction('sin (x)', independent_variables=['x']
问题是,我似乎无法得到函数和变量。我尝试过:
start = string.index(start_marker) + len(start_marker)
end = string.index(end_marker, start)
return string[start:end]
还有
r = re.compile('$()$')
m = r.search(string)
if m:
lyrics = m.group(1)
以及
send = re.findall('$([^"]*)$',string)
但所有的尝试似乎都没有得到结果。我是不是做错了什么?非常感谢大家的帮助。
4 个回答
8
如果你想在两个相同的字符之间切割一个字符串(比如说,!234567890!),你可以使用下面的代码:
line_word = line.split('!')
print (line_word[1])
9
$
在正则表达式中是一个特殊字符,它表示字符串的结尾。你需要对它进行转义:
>>> re.findall(r'\$(.*?)\$', '$sin (x)$ is an function of x')
['sin (x)']
29
有点小技巧哦!
>>> char1 = '('
>>> char2 = ')'
>>> mystr = "mystring(123234sample)"
>>> print mystr[mystr.find(char1)+1 : mystr.find(char2)]
123234sample