>

| 의 변수 아래에 문자열이있는 데이터 프레임이 있습니다.  캐릭터. 내가 원하는 것은 | 의 다운 스트림을 제거하는 것입니다.  캐릭터.

예를 들어 문자열을 고려

heat-shock protein hsp70, putative | location=Ld28_v01s1:1091329-1093293(-) | length=654 | sequence_SO=chromosome | SO=protein_coding

만 갖고 싶습니다 :

heat-shock protein hsp70, putative

| 에 대한 탈출 문자가 필요합니까  캐릭터?

내가하면 :

a <- c("foo_5", "bar_7")
gsub("*_.", "", a)

알겠습니다 :

[1] "foo" "bar"

_ 의 다운 스트림을 제거하고 있습니다  캐릭터.

그러나 pyzwyz로 동일한 작업을 반복하면   | 대신 :

_

알겠습니다 :

b <- c("foo|5", "bar|7")
gsub("*|.", "", a)

[1] "" ""

  • 답변 # 1

    당신은 | 를 탈출해야   \\| 를 추가하여 . 이것을 시도하십시오

    > gsub("\\|.*$", "", string)
    [1] "heat-shock protein hsp70, putative "
    
    

    여기서 string  입니다

    string <- "heat-shock protein hsp70, putative | location=Ld28_v01s1:1091329-1093293(-) | length=654 | sequence_SO=chromosome | SO=protein_coding"
    
    

    이 대안은 출력에서 ​​줄 끝의 공백을 제거합니다

    gsub("\\s+\\|.*$", "", string)
    [1] "heat-shock protein hsp70, putative"
    
    

  • 답변 # 2

    strsplit 의 더 나은 직업 일 것입니다   gsub 보다

    그렇습니다. 파이프를 이스케이프해야하는 것처럼 보입니다.

    string <- "heat-shock protein hsp70, putative | location=Ld28_v01s1:1091329-1093293(-) | length=654 | sequence_SO=chromosome | SO=protein_coding"
    strsplit(string, ' \\| ')[[1]][1]
    
    

    그 결과물

    "heat-shock protein hsp70, putative"
    
    

    첫 번째 파이프 이전의 텍스트 만 원하고 파이프를 관심있는 문자열 조각과 분리하는 공간을 삭제하려고한다고 가정합니다.

  • 이전 mysql - 범주가있는 테이블에서 최소 및 최대 선택
  • 다음 mysql - 숫자 ( "2abcd")로 시작하는 pdo php 문자열 입력은 $stmt-> bindparam ( ' - id', $id)에서 숫자 ( "2")로만 트리밍됩니다