Удалить конечную пунктуацию из строки - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь удалить все черточки, которые появляются в конце строки, и мой код вызывает сбой R. Будем весьма благодарны за любые исправления или исправления кода, которые могут не вызывать это!

acct_nm = str_replace_all(acct_nm, "[:punct:]+", "")

Правильно, я не завернул это как часть изменения, к сожалению, я не могу показать весь свой код или включить мои данные. По сути, все, что я хочу, это заменить переменную acct_nm на acct_nm - любую конечную пунктуацию.

В качестве примера я хочу, чтобы она работала аналогично приведенному ниже коду, где переменная y удаляет все конечные знаки препинания.

library(tidyverse)
test <- data.frame(x = 1:3, y = 'hello-./') %>% 
         mutate(z = str_replace_all(y, "[:punct:]+", ""))

enter image description here

Ответы [ 2 ]

1 голос
/ 09 ноября 2019

Вы можете попробовать использовать sub / gsub и убрать пунктуацию в конце строки

sub('[[:punct:]]+$', '', test$y)
#[1] "-hello" "-hello" "-hello"

data

test <- data.frame(x = 1:3, y = '-hello-./')
0 голосов
/ 12 ноября 2019

Вы можете попробовать

df$z <- with(df,gsub("(.*?)[[:punct:]]+$","\\1",y))

с данным фреймом данных df <- data.frame(x = 1:3, y = 'hello-./'), тогда вы получите

> df
  x        y     z
1 1 hello-./ hello
2 2 hello-./ hello
3 3 hello-./ hello
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...