如何删除Xpath中标记前面的换行符

2024-04-23 08:36:52 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我的HTML代码:

</div><div id="structureDescs" class="buttonWrap"><h2>Structure Descriptors</h2>
        <div><h3>InChI</h3>
            1S/C2H4O/c1-2-3/h2H,1H3<br>
            <button type="button" id="downloadInchi">Download</button>
        </div>


        <div><h3>InChIKey</h3>
            IKHGUXGNUITLKF-UHFFFAOYSA-N<br>
            <button type="button" id="googleInchi">Search the web for this InChIKey</button>
        </div>


        <div class="scrollWrapper"><h3>Smiles</h3>
            CC=O<br>
            <button type="button" id="downloadSmiles">Download</button>
        </div>

    </div>

现在我正试图选择Smiles部分中<br>标记之前的文本“CC=O”。我用XPath和Python中的tree.xpath('//*[text()="Smiles"]/..//br[1]/preceding-sibling::text()[1]')完成了这项工作

但是,我的输出是['\n\t\t\tCC=O'],我想去掉我想要的输出“CC=O”的换行符和制表符。建议?在


Tags: 代码textbrdividdownloadhtmltype
1条回答
网友
1楼 · 发布于 2024-04-23 08:36:52

在Python端,可以使用^{}删除字符串两边的空白:

In [290]: data = ['\n\t\t\tCC=O']

In [291]: data[0].strip()
Out[291]: 'CC=O'

或者,在XPath端,可以使用^{}

^{pr2}$

请注意,除了删除前导空格和尾随空格之外,normalize-space用一个空格替换多个空格。在

相关问题 更多 >