如何在python中获取特定子字符串后面的字符

时间:2016-02-29 00:40:01

标签: python string split

想象一下,我有文字:http://127.0.0.1:8000/?page=2#section0

如果我的字符串包含?page=,我希望能够从字符串中获取2(而不是 2#section0,只需?page=之后的数字http://127.0.0.1:8000/?page=32#section0 1}})。

例如,如果我有32,我应该能够获得<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" id="svg2" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="hhhhhhhhhhh_slide2.svg" **width="1250"** **height="961.25"**> <defs id="defs4" /> <sodipodi:namedview ....... ......

最快的方法是什么?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用正则表达式:(\d+)表示&#34;数字&#34;,page=(\d+)表示&#34; 1或更多数字&#34; page=表示文本import re re.search('page=(\d+)', yourstring).group(1) 后面的一个或多个数字。在Python中,

LazyString prodCatDataObject = (LazyString) (structOI.getStructFieldData(listOI.getListElement(arguments[0].get(), i), structOI.getStructFieldRef("productCategory")));
Text productCategoryValue = ((StringObjectInspector) prodCatOI).getPrimitiveWritableObject(prodCatDataObject);