微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从字符串中删除阿拉伯文本

如何解决如何从字符串中删除阿拉伯文本

我已将一些描述也门地区霍乱病例的数据从在线数据库复制到文本文件中。每个地区的名称都用英语和阿拉伯语在一个字符串中给出。我想删除 R 中的阿拉伯语,只留下英文名称

这是读入 R 时英语/阿拉伯语字符串的样子:

regions <- c("Al Hudaydah الحديدة","Hajjah حجة")

我只想留下英语 "Al Hudaydah" "Hajjah"

我试过使用 str_replace_all(regions,"[^[:alnum:]]","")replace_non_ascii(regions) 但它没有给我我想要的东西。

有什么想法吗?

谢谢!

解决方法

最简单的方法可能是简单地使用 gsub

gsub("[^A-Za-z0-9 ]","",regions)
,

编辑:我找到了解决问题的方法。问题在于文本文件的读取。如果它包含阿拉伯语(或可能是任何非拉丁文字),则需要使用 encoding = 'UTF-8'

例如

txt <- readLines("Arabic_English_script.txt") 返回

“Al Hudaydah الØديدة”“Taizz تعز”

txt <- readLines("Arabic_English_script.txt",encoding = 'UTF-8') 返回

“Al Hudaydah الحديدة”“Taizz تعز”

文本正确导入后,返回 gsub("[^[:alnum:]]",txt)

“AlHudaydah”“Taizz”

(注意,它仍然删除了空格。不知道如何修复那个。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。