首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用pyUNO搜索字符串和换行

用pyUNO搜索字符串和换行
EN

Stack Overflow用户
提问于 2015-11-25 08:58:57
回答 1查看 318关注 0票数 1

我想从文档中删除一个特定的字符串。我设法删除了字符串的内容,但是行中断仍然在后面。我发现了一些关于ControlCharacters的东西,但它们似乎只是数字常量。它真的有用吗?

这是工作的.

代码语言:javascript
复制
r = oDoc.createReplaceDescriptor()
r.setSearchString("FOOBAR")
r.setReplaceString("OTHERSTUFF")
oDoc.replaceAll(r)

这不是

代码语言:javascript
复制
r = oDoc.createReplaceDescriptor()
r.setSearchString("FOOBAR\n")
r.setReplaceString("OTHERSTUFF")
oDoc.replaceAll(r)
r = oDoc.createReplaceDescriptor()
r.setSearchString("FOOBAR\r")
r.setReplaceString("OTHERSTUFF")
oDoc.replaceAll(r)

如何删除整行,包括中断行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-27 20:05:23

根据内置的帮助:

使用正则表达式的搜索只能在一个段落中工作。若要在多个段落中使用正则表达式进行搜索,请在每个段落中分别进行搜索。

我认为这意味着不能搜索换行符。相反,循环遍历搜索结果并删除字符。下面是执行以下操作的一些代码:

代码语言:javascript
复制
search = oDoc.createSearchDescriptor()
search.SearchRegularExpression = True
search.SearchString = "FOOBAR$"
selsFound = oDoc.findAll(search)
for sel_index in range(0, selsFound.getCount()):
    oSel = selsFound.getByIndex(sel_index)
    try:
        oCursor = oSel.getText().createTextCursorByRange(oSel)
    except (RuntimeException, IllegalArgumentException):
        return
    oCursor.setString("")  # delete
    oCursor.goRight(1, True) # select newline character
    oCursor.setString("")  # delete
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33912147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档