태그 보관물: notepad++

notepad++

따옴표 안의 내용 이외의 다른 텍스트 (“”)와 문자열 뒤의 추출 / 삭제 있습니다. value1=”1″,value2=”2″,value3=”test3″,value4=”4″ value1=”1″,value2=”2″,value3=”anothertest3″,value4=”4″ value1=”1″,value2=”2″,value3=”lasttest3″,value4=”4″ value3의 따옴표 내에서 값을 추출하여

다음과 같은 .txt 파일에 매우 큰 데이터 출력이 있습니다.

value1="1",value2="2",value3="test3",value4="4"
value1="1",value2="2",value3="anothertest3",value4="4"
value1="1",value2="2",value3="lasttest3",value4="4"

value3의 따옴표 내에서 값을 추출하여 결과를 다음과 같이 만듭니다.

test3
anothertest3
lasttest3

어떻게하면 될까요?



답변

  1. 검색-> 바꾸기로 이동하십시오.
  2. 무엇찾기로 설정하십시오 ^value1=".*",value2=".*",value3="(.{10})",value4=".*"$.
  3. 바꾸기를 로 설정 하십시오\1 .
  4. 검색 모드 를로 설정하십시오 Regular expression.
  5. 모두 바꾸기를 누릅니다 .

답변

검색 모드Regular Expression

검색 대상 ^.*,value3="([^"]*)".*$
:\1


답변

샘의 해결책이 효과가 없었습니다.

제공 한 예제 데이터의 경우 다음 정규식이 작동했습니다. "이스케이프 처리 된 경우에도 값에을 포함 할 수 없다는 것을 제외하고는 길이에 대한 가정이 없습니다 (데이터 소스에 따라 언급 할 가치가 있음).

이것은 또한 앞에 value1또는 value2앞에 있다고 가정하지 않습니다 . 그것들은 선택적으로 생략 될 수 있거나, 선택적으로 또는 추가로 정렬되지 않은 값들이있을 수 있습니다.

  1. 검색-> 바꾸기 (또는 Ctrl+ h)
  2. 검색 모드를 정규식으로 설정
  3. 찾을 내용 필드에 다음을 입력하십시오.

    ^.*value3="([^"]*)".*$
    
  4. 세트 로 교체$1

  5. 전부 교체

답변