У меня проблемы с извлечением строки до и после /
.
x <- c("maximusa/b=5/1","maximusa/b=-4/1","maximusa/b=3/-2")
before_slash=sub(".*=(\\d+).*","\\1", x, perl = TRUE)
дает
"5" "maximusa/b=-4/1" "3"
, затем
after_slash=sub("^.*\\/(d+)","\\1", x, perl = TRUE)
дает
"maximusa/b=5/1" "maximusa/b=-4/1" "maximusa/b=3/-2"
OTH, ожидаемый результат
до косой черты 5 -4 3
после косой черты 1 1 -2
как получить ожидаемый результат?
thx за ответы,
Я хотел бы добавить еще одно условие для извлечения строк, если предположить, что у нас есть такая строка.Как и OP, как мы могли бы извлечь со знаком +
, а также игнорируя скобки?Текущее решение @mob дает
x <- c("maximusa/b=(5/+1)","maximusa/b=(-4/1)","maximusa/b=(+3/-2)")
after_slash=sub("^.*/(\\d+)","\\1", x, perl = TRUE)
> after_slash
[1] "maximusa/b=(5/+1)" "1)" "maximusa/b=(+3/-2)"
и
before_slash=sub(".*=(-?\\d+).*","\\1", x, perl = TRUE)
> before_slash
[1] "maximusa/b=(5/+1)" "maximusa/b=(-4/1)" "maximusa/b=(+3/-2)"
Я попробовал немного, но не повезло!