Gsub para manter a cadeia entre;

1

Eu tenho um conjunto de dados em R:

"Pppppp; Cccccccc; Ooooo; My_string; Gggggg;"

Eu gostaria de manter Mystring (para remover tudo antes e depois). Minha string está sempre localizada após o terceiro ";". O comprimento de Pppppp, Ccccc, Oooo e Ggggg não é o mesmo formulário de uma linha para outra.

Alguma ideia de como fazer isso?

Eu tentei gerar padrões:

gsub(pattern="\w[;]{3}", replacement="")

mas sempre acabei removendo ";" mas não as strings ...

Este não é um arquivo separado por separadores

Obrigado

    
por Nathalie 22.02.2017 / 17:57

2 respostas

1

É sua string sempre depois do terceiro ";" começando da esquerda para a direita? Além disso, o que você quer dizer com "não é um arquivo separado por tabulação?" Você pode importá-lo como uma tabela em R usando o separador ";" algo como:

tmp <- read.table("your.file.txt", sep=";", header=F)

você seleciona a quarta coluna (que é a que está após a terceira ";"):% my_strings <- tmp$V4

Isso está usando R.

    
por 23.02.2017 / 16:24
0

Não tenho certeza se entendi sua pergunta, mas acho que você pode alcançar sua meta fazendo isso:

 awk -F ";" '{OFS=";";print $1,$2,$3,$4}' input_file
    
por 22.02.2017 / 18:04