R에 데이터 세트가 있습니다.
"Pppppp;Ccccccccc;Ooooo;My_string;Ggggggg;"
Mystring을 유지하고 싶습니다(이전과 이후의 모든 내용이 삭제되도록). 내 문자열은 항상 세 번째 ";" 뒤에 옵니다. Pppppp, Ccccc, Oooo 및 Ggggg는 줄마다 길이가 다릅니다.
이 작업을 수행하는 방법을 아시나요?
스키마를 생성하려고 합니다.
gsub(pattern="\\w[;]{3}", replacement="")
하지만 나는 항상 문자열 대신 ";"을 제거하게 됩니다...
탭으로 구분된 파일이 아닙니다.
감사해요
답변1
문자열은 항상 왼쪽에서 오른쪽으로 세 번째 ";" 다음에 시작됩니까? 또한 "탭으로 구분된 파일이 아닙니다"라는 것은 무엇을 의미합니까? R에서 구분 기호 ";"를 사용하여 테이블로 가져올 수 있습니다. 그것은 다음과 같습니다:
tmp <- read.table("your.file.txt", sep=";", header=F)
그런 다음 네 번째 열(즉, 세 번째 ";" 다음 열)을 선택합니다.
my_strings <- tmp$V4
R을 사용하는 것입니다.
답변2
귀하의 질문을 이해했는지 잘 모르겠지만 다음을 수행하면 목표를 달성할 수 있다고 생각합니다.
awk -F ";" '{OFS=";";print $1,$2,$3,$4}' input_file