У меня есть список слов, которые я получил из-под кода.Как удалить эллипсис в конце строки в R
tags_vector <- unlist(tags_used)
Некоторые из строк в этом списке имеют эллипсис в конце, который я хочу удалить. Здесь я напечатать 5-й элемент этого списка и его класс
tags_vector[5]
#[1] "#b…"
class(tags_vector[5])
#[1] "character"
Я пытаюсь удалить многоточие из этого 5-элемента с помощью gsub
, используя код,
gsub("[…]", "", tags_vector[5])
#[1] "#b…"
Этот код не работает, и я получаю «# b ...» в качестве вывода. Но в том же коде, когда я поставил значение 5-го элемента непосредственно, он отлично работает, как показано ниже,
gsub("[…]", "", "#b…")
#[1] "#b"
Я даже попытался положить значение tags_vector[5]
в переменной x1
и пытался использовать его в gsub()
коде, но это все еще не работают.
Не могли бы вы предоставить 'tags_vector'? Он работает для меня с помощью простого 'x <-" #b ... "', поэтому я предполагаю, что он связан с вашим вектором. – LAP
См. Https://ideone.com/61hWht, похоже, работает. BTW, поскольку многоточие не является ASCII, вы можете попробовать с stringr 'str_replace_all':' library (stringr) '->' str_replace_all (tags_vector [5], "...", "") ' –
Это действительно похоже на unicode вопрос. Возможно, печать тегов_vector [5] уже изменяет символ (например, для многоточия есть два разных юникода: [2026] (http://www.fileformat.info/info/unicode/char/2026/index. htm) и [22EF] (http://www.fileformat.info/info/unicode/char/22EF/index.htm)). Это также объясняет, почему прямой gsub действительно работает. Не могли бы вы попробовать 'gsub (gsub (" [# b] "," ", tags_vector [5])," ", tags_vector [5])'? – takje