Я хочу, чтобы удалить -5p часть моих данных ниже:удалить часть строки - регулярное выражение
[1] mmu-miR-322-5p mmu-miR-10b-5p mmu-miR-10a-5p
Я попытался это gsub(".-5p","",data)
но потом забирали более 5р
Я хочу, чтобы удалить -5p часть моих данных ниже:удалить часть строки - регулярное выражение
[1] mmu-miR-322-5p mmu-miR-10b-5p mmu-miR-10a-5p
Я попытался это gsub(".-5p","",data)
но потом забирали более 5р
.
бы аналогично предыдущему символу. т.е. ваше регулярное выражение .-5p
будет соответствовать 2-5p
, b-5p
, a-5p
во входном векторе. Поскольку строка -5p
находится на последнем, вы можете использовать конец линейного якоря $
после -5p
. Обратите внимание, что он удалит только -5p
. Если он присутствует в середине или вначале, то он ничего не сделает.
sub("-5p$","",data)
Пример:
> s <- c("mmu-miR-322-5p", "mmu-miR-10b-5p", "mmu-miR-10a-5p")
> s
[1] "mmu-miR-322-5p" "mmu-miR-10b-5p" "mmu-miR-10a-5p"
> sub("-5p$","", s)
[1] "mmu-miR-322" "mmu-miR-10b" "mmu-miR-10a"
В обычном осуществлении экспрессии точка .
является метасимволом со специальным значением. В одиночку он будет соответствовать любому одиночному символу, кроме последовательности строк новой строки, поэтому причина, по которой он вызывает лишний символ.
Поскольку у вас есть один случай -5p
в каждом из ваших векторных элементов, sub
- это все, что вам нужно здесь.
> x <- c('mmu-miR-322-5p', 'mmu-miR-10b-5p', 'mmu-miR-10a-5p')
> sub('-5p', '', x)
# [1] "mmu-miR-322" "mmu-miR-10b" "mmu-miR-10a"
Вы можете даже использовать замену оператора в PERL один лайнер и удалить -5p во всех случаях из входного файла с помощью прихлебывая:
Perl Один лайнер Код:
perl -0777 -lne "if($_ =~ s/-5p//isg) { print $_;} else { print $_;}" InputFile
это R. Вам нужно включить некоторые коды, относящиеся к языку R. –
' gsub ("- 5p $", "", data) # [1] "mmu-miR-322" "mmu-miR-10b" "mmu-miR-10a" ' – akrun
- это' [1] mmu-miR- 322-5p mmu-miR-10b-5p mmu-miR-10a-5p' настоящая строка или вектор? –
«это забрало больше» - более 1 символа, из-за '.' "Соответствуют чему-нибудь" подстановочные знаки? (Если да, то почему вы его включили?) – usr2564301