是否可以使用officer R包中的body_replace_text_at_bkm将书签替换为空格?

enyaitl3  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(108)

我正在尝试使用officer::body_replace_text_at_bkm将Word文档中的书签替换为空白。
我有一个Word文档模板,带有下面这样的书签。

我使用下面的代码将“space”书签替换为一个空的空间。

library(officer)
doc <- read_docx(path =  "Test_Add_Space_Template.docx" )
officer::body_replace_text_at_bkm(doc, 'space', ' ')
print(doc, 'Test_Add_space.docx')

然而,当我运行上面的代码时,没有空间被添加到书签中。

我想知道是否有一种方法可以将书签替换为空白空间,如果没有,是否有其他解决方案。

jk9hmnmh

jk9hmnmh1#

最后,我意识到我需要使用Unicode。在本例中,“\u2008”输入标点空格。

library(officer)
doc <- read_docx(path =  "Test_Add_Space_Template.docx" )
officer::body_replace_text_at_bkm(doc, 'space', '\u2008')
print(doc, 'Test_Add_space.docx')

您可以在https://unicode.org/charts/nameslist找到Unicode字符和标点符号列表。
在R中,你可以使用\u作为转义字符。在另一种情况下,我需要一个end-dash,在Unicode中是“2013”,所以我使用“\u2013”作为书签的值。

相关问题