gpt4 book ai didi

正则表达式删除R中的特定多字节字符

转载 作者:行者123 更新时间:2023-12-02 04:03:27 25 4
gpt4 key购买 nike

我正在尝试删除 R 中的特定多字节字符。

Multibyte <- "Sungpil_한성필_韓盛弼_Han"

Multibyte 的语言结构是“English_Korean_Chinese_English” 我想删除的是韩语单词或汉语单词(而不是两者)。

期望的结果是:

Sungpil_한성필__Han   # Chinese characters were removed. 

Sungpil__韓盛弼_Han   # Korean characters were removed.

有没有一种简单的方法可以使用gsub来做到这一点?我只知道一种获取纯英文字符的方法。

gsub("[^A-Za-z_]", "", Multibyte)
[1] "Sungpil___Han"

最佳答案

回答问题本身,是的,您可以使用 PCRE 正则表达式和 Unicode 属性类 \p{Hangul} 来匹配韩文字符,仅使用 gsub 来完成此操作,和 \p{Han} 来匹配中文字符:

> Multibyte <- "Sungpil_한성필_韓盛弼_Han"
> gsub("\\p{Hangul}+", "",Multibyte, perl=TRUE)
[1] "Sungpil__韓盛弼_Han"
> gsub("\\p{Han}+", "",Multibyte, perl=TRUE)
[1] "Sungpil_한성필__Han"

参见R online demo .

但是,如果您有特定的输入文本结构,请使用其他解决方案。

关于正则表达式删除R中的特定多字节字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40800518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com