내가 여러 문자열이 문자열을 분할 할 :R에서 str_split()을 사용하는 방법?
BAA33520.2 |/유전자 = "vpf402를"/ 제품 = "Vpf402"| GI : 8272373이 | | AB012574 7347 {가입 : 7965 0 : 591}
구분 기호는 | (아스키 124).
다른 모든 구분 기호와 작동하지만이 기호와는 작동하지 않습니다.
내가 여러 문자열이 문자열을 분할 할 :R에서 str_split()을 사용하는 방법?
BAA33520.2 |/유전자 = "vpf402를"/ 제품 = "Vpf402"| GI : 8272373이 | | AB012574 7347 {가입 : 7965 0 : 591}
구분 기호는 | (아스키 124).
다른 모든 구분 기호와 작동하지만이 기호와는 작동하지 않습니다.
?regex
두 정규식 중위
|
운영자에 의해 결합 될 수있다; 결과 정규 표현식은 하위 표현식 중 하나와 일치하는 모든 문자열을 찾습니다. 예를 들어abba|cde
은abba
문자열 또는cde
문자열과 일치합니다. 문자 클래스 내에서는 번갈아 가며 작동하지 않습니다. 여기서|
은 문자 그대로 의미가 있습니다.기본 구성 요소는 단일 문자와 일치하는 정규 표현식입니다. 모든 글자와 숫자를 포함한 대부분의 문자는 일치하는 정규 표현식입니다. 특수한 의미를 갖는 메타 문자는 앞에 백 슬래시를 붙여 인용 할 수 있습니다. 확장 정규 표현식의 메타 문자는
. \ | () [ {^$ * + ?
입니다. 그러나 이들이 특별한 의미를 갖는지 여부는 문맥에 따라 다릅니다. 따라서
:
이stringr::str_split('BAA33520.2|/gene="vpf402",/product="Vpf402"|GI:8272373|AB012574|join{7347:7965, 0:591}', "\\|")
Frank는 지적 @, 당신은 fixed=TRUE
추가하여 base::strsplit()
이 작업을 수행 할 수 있습니다 그러나
strsplit('BAA33520.2|/gene="vpf402",/product="Vpf402"|GI:8272373|AB012574|join{7347:7965, 0:591}',"|", fixed=TRUE)
을, 당신은 또한 장식으로 stringr::str_split()
하여이 작업을 수행 할 수 있습니다 구분 기호의 정규 표현식 :
stringr::str_split('BAA33520.2|/gene="vpf402",/product="Vpf402"|GI:8272373|AB012574|join{7347:7965, 0:591}',
regex("|", literal=TRUE))
덧붙여, stringr
꽤 많은이 시점에서 단지 약간 우호적 래퍼 stringi
에 기능이며이 문자열 spiltting 이외의 몇 가지 멋진 보석을 포함로 나는 높은 stringi
패키지를 공부하는 것이 좋습니다.
베이스 R에서,이 'strsplit ('BAA33520.2 |/gene = "vpf402",/product = "Vpf402"| GI : 8272373 | AB012574)를 해결하기 위해 fixed = | 조인 {7347 : 7965, 0 : 591} ', "|", 고정 = TRUE)'. 옵션이 stringr에 포함되어 있지 않은 것 같습니다. – Frank
친애하는 모든 사람들, 당신의 제안에 감사드립니다, 그들은 훌륭하게 일했습니다! – CLM
+1. 그렇다면 미래의 수색자가 문제를 해결 한 답을 알 수 있도록 답 기호를 체크하는 것이 일반적입니다. – hrbrmstr
추신 : 분할 기능을 사용하면 해당 문자열을 분리 할 필요가 없습니다. 분리기로 사용됩니다. – CLM
당신은 무엇을 실패 했습니까? – hrbrmstr
탈출을 시도 했습니까? 즉,'\\ |' – aosmith