我正在尝试删除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"
答案 0 :(得分:2)
回答问题本身,是的,您可以使用PCRE正则表达式和Unicode属性类gsub
仅使用\p{Hangul}
来匹配韩语字符,使用\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。
但是,如果您具有输入文本的特定结构,请使用其他解决方案。
答案 1 :(得分:1)
我们可以尝试CompletableFuture<Void> mt = supplyAsync(MetadataLoginUtil::login)
.exceptionally(e -> { System.out.println(e); return null; } )
.thenAccept(e -> System.out.println(e));
sub