首页 > 解决方案 > 从行中删除非英语字符串:R

问题描述

我有几个变量,其数据(行)包含英文字符串,后跟非英文翻译(印地语)。

例如 Carpenter(木匠的印地语)

有没有办法剥离行以仅包含英文部分?印地语导致应用功能出现问题,因此我希望将其删除。

标签: rdplyrstringr

解决方案


这是使用基本 R 的另一个选项iconv(),它仅删除非拉丁脚本:

s <- 'Carpenter (बढ़ई)'
iconv(s, "latin1", "ASCII", sub="")
# [1] "Carpenter ()"

应用于数据框:

df <- data.frame(rbind('Carpenter (बढ़ई)',
    'Cat (बिल्ली)'))
sapply(df,iconv, from="latin1", to="ASCII",sub="")
# [1,] "Carpenter ()"                           
# [2,] "Cat ()"    


推荐阅读