gpt4 book ai didi

r - 如何正确地连接R中的比迪字符串?

转载 作者:行者123 更新时间:2023-12-04 04:24:36 24 4
gpt4 key购买 nike

我想将标记添加到从右到左书写的(乌尔都语)文本中。我正在尝试将gsub用于此目的,但到目前为止我尝试过的所有操作均未产生所需的输出

text <- "یہ جملہ ایک مثال کے لیے استعمال کیا جا رہا ہے"
pattern <- "کیا جا"
replaceWith <- paste0("<somemark>", pattern, "</somemark>")
gsub(pattern, replaceWith, text)

gsub返回以下内容
یہ جملہ ایک مثال کے لیے استعمال <somemark>کیا جا</somemark> رہا ہے

期望的输出。

enter image description here

如何实现所需的输出?

注意:我什至无法在帖子中正确排版所需的输出,我不得不依靠图像。

更新:尽管下面的 mysub函数正确连接了字符串(在控制台中),但我仍然面临 Shiny 的应用程序中文本顺序不正确的问题。
mysub <- function(text, pattern){
beforePattern <- substr(text, 1, regexpr(pattern, text)[1]-1)
afterPattern <- substr(text, regexpr(pattern,text)[1] + nchar(pattern), nchar(text))
result <- paste(afterPattern, replaceWith, beforePattern)
result
}

最佳答案

我试了一下。不过,我确实采用了对args进行硬编码的自由方式,而不是从 session 中读取内容。

Server: 

output$mysub <- function(){ # (text=NULL, pattern=NULL)

text <- "یہ جملہ ایک مثال کے لیے استعمال کیا جا رہا ہے"
pattern <- "کیا جا"

Encoding(text) <- "UTF-8"
Encoding(pattern) <- "UTF-8"

print(text)

beforePattern <- substr(text, 1, regexpr(pattern, text)[1]-1)
afterPattern <- substr(text, regexpr(pattern,text)[1] + nchar(pattern), nchar(text))

replaceWith <- paste0("<somemark>", pattern, "</somemark>")
result <- paste(afterPattern, replaceWith, beforePattern)

# result <- paste( beforePattern, replaceWith, afterPattern)
# Encoding(result) <- "UTF-8"
print(length(result))
print(result)

return(result)
}


# ui.R:

h2( textOutput("mysub") )

我在 Shiny 的网页上得到的输出是:
bidi text output

关于r - 如何正确地连接R中的比迪字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40540783/

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