Microsoft Word 2003의 "찾기 및 바꾸기" 대화 상자를 사용하여 주소 목록에서 공백이 없는 우편번호(캐나다)를 검색하고 싶습니다. 예:
M2N3X6
L4C2A9
K5G1S7
중간에 공백을 넣으십시오.
M2N 3X6
L4C 2A9
K5G 1S7
[A-Z][0-9][A-Z][0-9][A-Z][0-9]
이것은 간단해야 하지만 "바꾸기" 부분에 약간의 문제가 있습니다. 찾기 필드에 를 입력 했지만 바꾸기 상자에서는 중간에 공백을 어떻게 추가해야 하는지 알아냈습니다 . 거기에 있는 문자를 유지하나요? 나는 그것이 다음과 같을 것이라고 생각했지만 \1\2\3 \4\5\6
작동하지 않습니다.
도움을 주시면 감사하겠습니다.
답변1
\1 등은 표현식을 대체하며, 어떤 것이 표현식임을 지정하려면 ()로 묶습니다. 그래서 당신은 필요합니다
([A-Z])([0-9])([A-Z])([0-9])([A-Z])([0-9])
그 다음에
\1\2\3 \4\5\6
작동해야합니다. 표현할 수 있는 표현의 수에는 제한이 있는 것 같습니다(아마도 9개).
답변2
. sed
하지만 나는 당신의 문제에 대한 다단계 해결책을 찾았습니다. 먼저, 데이터에 나타나지 않고 Word의 "찾기 및 바꾸기"에 특수 문자(예: ' @
' 또는 ' #
') 가 포함되어 있지 않은 문자열을 식별합니다 . (또는 사용하되 이스케이프하세요.) |
데이터에 표시되지 않는 한 ' '와 같은 단일 문자일 수 있습니다. 나는 당신이 “ ”를 선택했다고 가정하겠습니다 |
. 지금,
- 을 검색하여
[A-Z][0-9][A-Z][0-9][A-Z][0-9]
로 바꾸세요^&|
. 이렇게 하면 부적합한 각 우편번호 뒤에 "|
"가 붙는 태그가 지정됩니다. - (선행 공백 포함)을 검색하여
[0-9][A-Z][0-9]|
다음으로 바꿉니다 .^&
이렇게 하면 원하는 위치에 공백이 삽입됩니다. - 그런 다음 모든 항목을 검색
|
하고 아무것도 바꾸지 마십시오.
와일드카드 모드를 사용하지 않고도 이 작업을 수행할 수 있습니다.
^$^#^$^#^$^#
→^&|
.^#^$^#|
→^&
(또는^?^?^?|
→^&
).|
→ 아무것도.
이는 ^$
와 동일하므로 [A-Za-z]
상황이 대소문자를 구분하는 경우 "와일드카드"를 사용해야 할 것 같습니다.
답변3
매우 간단한 방법: Excel에서 "텍스트를 열로" 기능을 사용한 다음 CONCATENATE 수식을 사용하여 중간에 공백을 다시 결합합니다. 수식은 =CONCATENATE(A1," ",B1)입니다.