我有一个字符串-Python:
string = "/foo13546897/bar/Atlantis-GPS-coordinates/bar457822368/foo/"
预期产量为:
"Atlantis-GPS-coordinates"
我知道预期的输出总是被左边的“/bar/”和右边的“/”包围:
"/bar/Atlantis-GPS-coordinates/"
建议的解决方案如下:
a = string.find("/bar/")
b = string.find("/",a+5)
output=string[a+5,b]
这行,但我不喜欢。 有人知道一个漂亮的功能或小费吗?
您可以使用split:
通过添加最大分割
1
的一些效率,我想:或者使用partition:
或正则表达式:
取决于你和你的数据。
你所没有的并不是那么糟糕。我会把它写成:
只要你知道
/bar/WHAT-YOU-WANT/
总是会出现。否则,我会伸手去拿regular expression knife:这是一个Python2.x示例。它首先要做的是: 一。(?<;=/bar/)表示只有在以下正则表达式之前处理它(因此/bar/必须在它之前) 2.'。+?/'表示下一个'/'字符之前的任何字符数
希望有帮助。
如果你需要做这种搜索一堆,它是更好的'编译'这个搜索性能,但如果你只需要做一次,不麻烦。
相关问题 更多 >
编程相关推荐