Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除R中字符串末尾的省略号_R_Regex_Ellipsis - Fatal编程技术网

如何删除R中字符串末尾的省略号

如何删除R中字符串末尾的省略号,r,regex,ellipsis,R,Regex,Ellipsis,我有一个单词列表,我从下面的代码中得到 tags_vector <- unlist(tags_used) 我试图使用gsub删除第5个元素中的省略号 gsub("[…]", "", tags_vector[5]) #[1] "#b…" 此代码不起作用,我得到“#b…”作为输出。但在同一代码中,当我直接输入第5个元素的值时,它的工作原理如下所示 gsub("[…]", "", "#b…") #[1] "#b" 我甚至尝试将tags\u vector[5]的值放入变量x1中,并尝试在gs

我有一个单词列表,我从下面的代码中得到

tags_vector <- unlist(tags_used)
我试图使用
gsub
删除第5个元素中的省略号

gsub("[…]", "", tags_vector[5])
#[1] "#b…"
此代码不起作用,我得到“#b…”作为输出。但在同一代码中,当我直接输入第5个元素的值时,它的工作原理如下所示

gsub("[…]", "", "#b…")
#[1] "#b"

我甚至尝试将
tags\u vector[5]
的值放入变量
x1
中,并尝试在
gsub()
代码中使用它,但它仍然不起作用。

这可能是一个Unicode问题。在R(studio)中,并非所有角色都是平等创建的

我试图创建一个可复制的示例:

# create the ellipsis from the definition (similar to your tags_used)
> ell_def <- rawToChar(as.raw(c('0xE2','0x80','0xA6'))) # from the unicode definition here: http://www.fileformat.info/info/unicode/char/2026/index.htm
> Encoding(ell_def) <- 'UTF-8'
> ell_def
[1] "…"
> Encoding(ell_def)
[1] "UTF-8"

# create the ellipsis from text (similar to your string)
> ell_text <- '…'
> ell_text
[1] "…"
> Encoding(ell_text)
[1] "latin1"

# show that you can get strange results
> gsub(ell_text,'',ell_def)
[1] "…"

您能提供
标签\u矢量
?我用一个简单的
x看,它似乎很管用。顺便说一句,由于省略号不是ASCII码,您可以尝试使用stringr
str\u replace\u all
library(stringr)
->
str\u replace\u all(tags\u vector[5],“…”,”)
这似乎确实是一个unicode问题。可能是标记_向量[5]的打印已经改变了字符(例如,省略号有两个不同的Unicode:和)。这也解释了为什么直接gsub可以工作。您能否尝试
gsub(gsub(“[#b]”),“”,tags_vector[5]),“”,tags_vector[5])
?由于这可能是一个编码问题,您是否也可以显示sessionInfo()的结果?
# create the ellipsis from the definition (similar to your tags_used)
> ell_def <- rawToChar(as.raw(c('0xE2','0x80','0xA6'))) # from the unicode definition here: http://www.fileformat.info/info/unicode/char/2026/index.htm
> Encoding(ell_def) <- 'UTF-8'
> ell_def
[1] "…"
> Encoding(ell_def)
[1] "UTF-8"

# create the ellipsis from text (similar to your string)
> ell_text <- '…'
> ell_text
[1] "…"
> Encoding(ell_text)
[1] "latin1"

# show that you can get strange results
> gsub(ell_text,'',ell_def)
[1] "…"
gsub(ell_def,'',tags_vector[5])