如何使用其他语言的grep删除单词?

时间:2019-01-12 21:05:56

标签: r regex

我尝试使用userselect(针对希腊语)从数据帧中删除字符串。

grep

错误是

df <- data.frame(freetext = c("Εδώ και αρκετό καιρό που συνεχίζουν","και τώρα που έγιναν"))

df <- df_text[!grepl("και|που", df),]

语言有问题吗?

预期的数据帧:

Error in `$<-.data.frame`(`*tmp*`, text, value = character(0)) : 
  replacement has 0 rows, data has 2

1 个答案:

答案 0 :(得分:1)

语言没有问题,但还有其他一些问题。你想要

df$freetext <- gsub("(και|που)[$ ]", "", df$freetext)
df
#                      freetext
# 1 Εδώ αρκετό καιρό συνεχίζουν
# 2                 τώρα έγιναν

grepl仅用于检测某些模式,而不进行任何更改。为此,您需要gsub。然后,您还要处理向量df$freetext,而不是整个数据帧df,并且分配必须分配给同一列,而不是整个数据帧。最后,该模式需要[$ ]表示字符的结尾或空格,以免从καιρκ形式的και擦除。