如何删除字符串中的空字符串(“”)

时间:2019-07-17 13:33:20

标签: r

使用rvest进行网页抓取时遇到了一个奇怪的问题。

我取消了以下名称:"Ab­dich­ter/in EFZ",起初看起来很正常。但是,当我将文件写入csv时,我发现字母之间是“-”。在Excel中,该词看起来像这样:Ab-­dich-ter/in EFZ

所以我做了一个str_split(x, ""),发现字符串实际上看起来像这样:

c("A", "b", "­", "d", "i", "c", "h", "­", "t", "e", "r", "/", "i", "n", " ", "E", "F", "Z")

我试图从字符串中取出空字符串,但是我没有处理。我尝试过:

my_string <- str_split(my_string , "")

然后

paste0(my_string[my_string != ""])

但这没有帮助。

因此,我想知道:

  1. 空字符串如何进入该字符串,并且
  2. 如何再次将其取出。

编辑:这是webpage

这是我得到字符串的方式:

library(rvest)

read_html("https://berufskunde.com/ausbildungsberufe/ausbildung-abdichter.html", encoding = "UTF-8") %>% 
  html_nodes(".section") %>% 
  html_nodes(".text-rot") %>% 
  html_text()

1 个答案:

答案 0 :(得分:4)

您正在观察的字符串不是空字符串,而是一个SOFT HYPHEN(U + 00AD)字符。应该只在单词断行时才显示它,但是一些编辑者不能正确处理它,这就是为什么当您检查CSV时可能会显示它的原因。

无论如何,您可能都希望将其从字符串中删除:

str = gsub('\U00AD', '', str)