>source

문자열이 있습니다str여러 하위 문자열을 추출할 위치입니다.

str <-"Nucleotide transport and metabolism,Secondary metabolites biosynthesis, transport, and catabolism /Chromatin structure and dynamics,Coenzyme metabolism,"

추출 조건은 다음과 같습니다.

  • 처음 발생할 때까지 모든 것을 추출,다음 문자가 대문자인 경우에만
  • 옆에 있는 문자가,대문자가 아닌 경우 다음까지 계속하십시오.
    • 다음 발생,그 뒤에 대문자 OR
    • 가 옵니다.
    • 의 발생/또는
    • 문자열의 끝

출력은 다음과 같아야 합니다.

>output
[1] "Nucleotide transport and metabolism"                           "Secondary metabolites biosynthesis, transport, and catabolism"
[3] "Chromatin structure and dynamics"                              "Coenzyme metabolism"

  • 답변 # 1

    다음을 사용할 수 있습니다.strsplit 에서스트링거 패키지.

    library(stringr)
    str_split(str, ",(?=[:upper:])|\\s\\/\\s") %>% unlist() %>% gsub(",$", "", .)
    [1] "Nucleotide transport and metabolism"
    [2] "Secondary metabolites biosynthesis, transport, and catabolism"
    [3] "Chromatin structure and dynamics"
    [4] "Coenzyme metabolism,"
    

    감사 해요. 그러나 마지막 부분 문자열은 끝에 쉼표가 있습니다. 그것을 제거하는 방법?

    Abhishek Chowdhury2022-02-14 14:01:18

    gsub()를 사용하여 쉼표를 제거할 수 있습니다.

    benson232022-02-14 14:03:10
  • 이전 python : Generic 형식의 생성자를 사용하는 방법
  • 다음 javascript : 모든 길드원 discord.js v12를 계산하는 방법