Programing

"."뒤의 문자열 부분을 제거합니다.

lottogame 2020. 11. 28. 08:36
반응형

"."뒤의 문자열 부분을 제거합니다.


변수와 같은 NCBI 참조 시퀀스 액세스 번호로 작업하고 있습니다 a.

a <- c("NM_020506.1","NM_020519.1","NM_001030297.2","NM_010281.2","NM_011419.3", "NM_053155.2")  

바이오 마트 패키지에서 정보를 얻으려면 식별 번호 뒤에있는 .1, .2을 제거해야 합니다. 나는 일반적으로이 코드를 사용합니다.

b <- sub("..*", "", a)

# [1] "" "" "" "" "" ""

그러나 보시다시피 이것은이 변수에 대한 올바른 방법이 아닙니다. 누구든지 이것으로 나를 도울 수 있습니까?


기간을 벗어나면됩니다.

a <- c("NM_020506.1","NM_020519.1","NM_001030297.2","NM_010281.2","NM_011419.3", "NM_053155.2")

gsub("\\..*","",a)
[1] "NM_020506"    "NM_020519"    "NM_001030297" "NM_010281"    "NM_011419"    "NM_053155" 

파일 이름 인 척하고 확장자를 제거 할 수 있습니다 .

tools::file_path_sans_ext(a)
# [1] "NM_020506"    "NM_020519"    "NM_001030297" "NM_010281"    "NM_011419"    "NM_053155"

다음과 같이 할 수 있습니다.

sub("*\\.[0-9]", "", a)

또는

library(stringr)
str_sub(a, start=1, end=-3)

문자열의 길이가 고정되어야하는 경우 substrfrom을 base R사용할 수 있습니다. 하지만 .with 의 위치를 ​​가져 와서 regexpr사용할 수 있습니다.substr

substr(a, 1, regexpr("\\.", a)-1)
#[1] "NM_020506"    "NM_020519"    "NM_001030297" "NM_010281"    "NM_011419"    "NM_053155"   

참고 URL : https://stackoverflow.com/questions/10617702/remove-part-of-string-after

반응형