gsub 和 stringr 无法替换阿拉伯字符

问题描述 投票:0回答:0

我正在尝试将以下字符串中的“ي”替换为“ى”:

注1:本文为阿拉伯文

"هذا النص يحتوي على حرومحدد"

到目前为止,我已经尝试了 gsub 和 stringr 以及 stringi,但没有一个可以替换这些字符。

目前RStudio的版本是2022.12.0 Build 353,R版本是4.2.2 (2022-10-31 ucrt)

以下是我试过的三个代码:

#1

gsub("ي", "ى", stringFinal, fixed=TRUE)

#2

char_to_replace <- "ي"
replacement_char <- "ى"

new_string <- charToRaw(my_string)
new_string[new_string == charToRaw(char_to_replace)] <- charToRaw(replacement_char)
new_string <- rawToChar(new_string)

stringFinal<- str_replace(stringFinal,"ي", "ى")

#3

stringFinal<- str_replace(stringFinal,"ي", "ى")

注意 2:由于阿拉伯语和英语之间的不兼容,在#3 中,我似乎试图用有利的方式替换有利的,但事实并非如此,这只是显示的文本中的一个小故障。

以上三种方法都失败了(没有报错也没有警告) 不利的字符留在字符串中。

知道如何解决这个问题吗? 请检查此以供参考,它不应返回 TRUE 但 RStudio 返回 TRUE:

"ي" == "ی"
r regex arabic
© www.soinside.com 2019 - 2024. All rights reserved.