r - 如何在其他语言中使用 grep 删除单词?
问题描述
我尝试从使用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
语言有问题吗?
预期数据框:
df <- data.frame(freetext = c("Εδώ αρκετό καιρό συνεχίζουν","τώρα έγιναν"))
解决方案
语言没有问题,但还有其他几个问题。你要
df$freetext <- gsub("(και|που)[$ ]", "", df$freetext)
df
# freetext
# 1 Εδώ αρκετό καιρό συνεχίζουν
# 2 τώρα έγιναν
grepl
仅用于检测某些模式,不做任何更改。为此你想要gsub
。然后你也在处理一个向量df$freetext
,而不是整个数据框df
,并且分配必须是同一列,而不是整个数据框。最后,该模式需要[$ ]
表示字符的结尾或空格,以免从 καιρό 中删除 και。
推荐阅读
- sql - 将 .txt 文件加载到 Postgres 数据库中
- python - 尝试学习如何实现单个神经元
- vue.js - VueJS - 悬停时切换列表项的背景图像
- datetime - 将 Win32 纪元的纳秒添加到 Go 时间
- javascript - 如何有条件地加载和运行 javascript 文件
- c# - Asp Net Core 3.1 自定义角色授权
- c# - 为什么我使用此代码时没有显示任何内容?
- scala - Intellij IDEA - 无法为 Scala 添加框架支持
- java - 将嵌套循环的输出存储为新数组 - Java
- azure-service-fabric - ELK 堆栈未将内部解构属性接收为已解构,但作为转义字符串