모든 줄의 텍스트 중간에 문자 추가, 메모장++

모든 줄의 텍스트 중간에 문자 추가, 메모장++

예를 들어 OU111_DI_Z006_1 텍스트를 포함하는 엄청난 양의 줄이 있습니다.

@로 표시되는 일부 문자는 줄마다 다릅니다. 이렇게: OU@@@_@@_Z0@@__@

검색 대체 기능을 사용하여 Z 앞에 문자 X를 추가하려면 어떻게 해야 합니까?

다음과 같습니다: OU111_DI_XZ006_1

답변1

교체 창 표시에서정규식그리고

무엇을 찾다: (OU..._.._)(Z0.._.)

다음으로 교체: \1X\2

http://docs.notepad-plus-plus.org/index.php/Regular_Expressions

답변2

이는 데이터에 따라 다릅니다. "OU" 및 "Z0" 문자는 각 하위 문자열의 시작을 표시하는 데 고유합니까... 아니면 무작위로 나타날 수 있습니까(예: OU222_Z0_Z055..)?

고유하고 각 하위 문자열의 시작 부분을 제외하고 어디에도 표시될 수 없는 경우 간단한 정규식은 매우 일반적으로 작동할 수 있습니다.

Find:  (OU.*)(Z0.*)
Replace:  \1X\2

여기서는 OU로 시작하는 모든 항목(.*)을 "\1"로 그룹화합니다. 그리고 Z0으로 시작하는 모든 것을 "\2"로 그룹화합니다. (괄호는 그룹을 생성합니다.)

교체 문자열은 그룹 1과 2 사이에 X를 넣는 것입니다.

참고: 이것은 존재해야 하는 밑줄과 문자 수를 지정하지 않기 때문에 더 일반적인 점을 제외하면 marbel82의 답변과 매우 유사합니다.

..

그러나 해당 OU 및 Z0이 고유 마커가 아닌 경우 해당 특성에 대한 일반 정규식을 작성하려면 데이터를 더 잘 이해해야 합니다.

관련 정보