2017-11-29 1 views
0

많은 줄이있는 텍스트 파일을 읽고 싶습니다. 각 라인의 시작 부분에서 , 전, 후, 후 혼수와 라인의 나머지 예 : 따옴표 사이의 문자열을텍스트 파일의 각 줄의 첫 번째 인용 문자열을 추출하십시오.

내가 원하는 것은 파일을 읽고, 첫 번째를 추출하는 것입니다
"CBL003","C3/C5 // <>SdcdUB","",0,1,"PfcdDT_gerergv","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","", 
"CBL004","C3<.<C7 // <>SqsxUB","",0,1,"PDzesdxT_esfdczec","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"" 

행을 다른 텍스트 파일에 넣고 그 행의 첫 x 째. 자 열에 이름을 지정하십시오.

"CBL003","C3/C5 // <>SdcdUB","",0,1,"PfcdDT_gerergv","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","", 

및 포함하는 두 번째 파일의 텍스트 CBL004.txt :

"CBL004","C3<.<C7 // <>SqsxUB","",0,1,"PDzesdxT_esfdczec","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"" 

나는 이미이를 예 : 위의 예에서 , 나는이 포함 된 텍스트 파일 CBL003.txt이 있어야합니다 각 라인을 읽어 코드 :

FOR /F "tokens=*" %%a IN (C:\SourceFile.txt) DO (
    ECHO %%a 
) 

하지만 각 행의 첫 부분을 추출하는 방법을 모르는

+0

정규식'\ "(. *?) \"'을 사용하고 데이터가 항상 문자열의 시작 부분에있는 경우 첫 번째 일치 항목을 반환 할 수 있습니다. – user

답변

2

%%a을 첫 번째 토큰에만 설정하고 쉼표를 구분 기호로 지정하려면 delims=,이 필요하므로 tokens=1이 필요합니다. 원하는 경우 %%~a을 사용하여 따옴표를 제거 할 수 있습니다. 도움을 받으려면 for /?을 입력하십시오.

FOR /F "tokens=1 delims=," %%a IN (C:\SourceFile.txt) DO (
    ECHO %%~a 
) 
+0

그게 내가 고마워서 찾던거야. 그래서 토큰 = 1은 내가 단락 기호 앞에 첫 번째 문자열 만 원한다는 것을 의미합니다. 따라서 %% ~ a에 대해 따옴표없이 추출을 원할 때마다 ~를 추가합니다. –

+0

예, 일반적으로 따옴표는 공백이 포함 된 파일 이름 주위에 배치되고 ~는 변수에서 공백을 제거하는 데 사용됩니다. 그러나 모든 문자열에서 작동하므로 파일 이름 일 필요는 없습니다. – DodgyCodeException

관련 문제