안녕하세요?
보니 워드의 찾기-바꾸기 기능으로 이론적으로 가능은 하지만 노가다를 많이 해야 하고 시행착오를 거쳐야 정답이 나올 것으로 보입니다.
아래는 유사한 사례로 제가 10년 전에 어디에 답변했던 내용입니다. 시간이 되시면 아래 내용만 이해하셔도 어느 정도 응용이 가능합니다.
한글만 찾아 제거하라는 것은 가능합니다만.. [ㄱ-힣] 이런 식으로 한글이 시작되는 ㄱ부터 종료되는 것으로 추정되는 힣 문자사이의 모든 글자를 찾아 삭제하라고 하면 됩니다.
그러나 님의 경우 쉽지 않다는 것이 한글을 잘 보시면 숫자도 들어있고, 컴머나 괄호같은 특수문자도 포함되어 있습니다. 즉 한글만 제거하면 이런 잡다한 것이 그대로 문단을 차지하고 있어 작업 후도 별 의미가 없습니다.
즉 한글 제거작업 전에 전처리할 작업들을 많이 해야 가능하다는 의미입니다.
◆ 문제: 아래의 문장을 영어만 찾아서 그 부분을 괄호내에 위치하게 하는 방법
즉, 옥수수the corn이 있으면... the corn의 영문 단어만이 ( )속에 삽입되게 하는 방법을 가지고 찾기/바꾸기의 일부지만 설명을 드리겠습니다. 나머지는 워드의 도움말(맨 아래참조)을 이용하면 얼마든지 응용이 가능할 것입니다.
◐ 예제문장 ◐
옥수수the corn가 거의almost익어ripe가는 들 a field에서 어린새끼들young ones을 기르고have 있었던 종달새 a lark는 새끼들young ones이 날기fly 전 before에 추수꾼들reaper이 오지come 않을까 걱정afraid이 되었습니다.
1.
검색옵션의 패턴일치(와일드카드) 사용에 반드시 체크를 하시고...........
여기에서 찾을내용에 ([A-z]>) (<[A-z]) 를 입력합니다. *주의:첫번째 )다음에 space하나 삽입필요
바꿀내용에 \1@@\2 를 입력합니다.
■ 설명
와일드카드 \n을 사용하면 찾을 내용 상자의 텍스트를 찾아 바꿀 내용 상자에 있는 텍스트로 바꿀 수 있습니다. 예를 들어, 찾을 내용 상자에 (Newton) (Christie)를 입력하고, 바꿀 내용 상자에 \2 \1을 입력하면 "Newton Christie"를 찾아서 "Christie Newton"으로 바꿉니다.
라는 두 단어를 바꿀 수 있는MS워드의 도움말을 응용해서 단어사이(여기서는 영어의 마지막 단어 [A-z]>와 영어의 첫단어<[A-z] 사이에 공백이 있는 것만 찾아서 영어의 마직막 단어와 영어의 첫 단어는 그대로 두고 그 사이 공백만 @@으로 바꾸기 위해서 입니다. 따라서 여기서는 영어의 마지막단어@@영어의 첫단어가 선택되고 바뀌게 됩니다. 그 이유는 요리조리 바꿔보면서 생각해보세요 ㅎㅎ
도움말에도 있지만 [ ]는 지정한 범위내의 한 글자를 찾는 방법입니다. 따라서 영어는 대문자 A에서 Z까지, 소문자 a에서 z까지 구성이 되어있으므로 영어의 아스키코드(16진수)를 보면(컴퓨터는 숫자로 크기나 범위를 표시하므로) 41이 대문자 A로 제일 작고, 7A가 소문자 z로 제일 크므로, 문서를 조사(즉, 영문자가 있느냐?)하기 위해서 [A-z]를 사용하였습니다 (글로 쓰니까 대기 힘드네 ㅎㅎㅎ)
그리고 >표시는 끝문자 <표시는 시작문자를 찾는 패턴문자입니다. 즉, 영문끝문자공백영문시작문자를 문서에서 찾아 영문끝문자@@영문시작문자로 바꿔라는 의미입니다.
2.
검색옵션의 패턴일치(와일드카드) 사용에 반드시 체크를 해제하시고...........
여기에서 찾을내용에 space 하나를 입력합니다.
바꿀내용에 %%를 입력합니다.
■ 설명
영어사이에 있는 공백문자외의 모든 공백문자를 %% 즉, 퍼센터 기호로 바꿉니다 (위에서 나온 @문자나 %문자를 유독 다른 문자도 많은데 스페이스 치환시 사용한 이유는 혹시 문장에 이미 다른 문자는 나올 수 있고, 또한 @나 %등의 문자가 한개짜리는 혹시 나타나 있을 수 있으므로 아예 @@나 %%식으로 두개를 붙였음)
3.
검색옵션의 패턴일치(와일드카드) 사용에 반드시 체크를 해제하시고...........
여기에서 찾을내용에 @@를 입력합니다.
바꿀내용에 space 하나를 입력합니다.
■ 설명
다시 영어사이에 있는 공백을 복원하기 위해서 입니다.
4.
검색옵션의 패턴일치(와일드카드) 사용에 반드시 체크를 하시고...........
여기에서 찾을내용에 [A-z ]{1,} 를 입력합니다. *주의: z다음에 space 하나 삽입필요
바꿀내용에 (^&)를 입력합니다.
■ 설명
[A-z ]{1,} 이것의 의미는 영어나 공백(space)을 한번이상{1,} 반복하여 찾습니다(아래의 워드 도움말 참조할 것)
이것은 위의 문장에 보면( 은 공백문자)
옥수수the corn가 거의almost익어~ 와 같이 영어와 영어사이에 공백을 포함하는 경우 및 영어만 있는 경우(almost의 예임) 두가지 모두를 동시에 찾기 위함입니다.
바꿀내용의 ^&기호는 위에서 찾은 내용을 그대로 바꿀 때 사용합니다.
이 기호가 없다면 위에서 찾은 임의의 영문단어의 일부를 특정단어로 바꾸기할 수 없습니다(말이 어렵죠.. 별것도 아닌데... 다시 말해서 영어만 찾아서 바보라는 글자로 바꿀려면 굳이 ^& 기호를 쓸 필요는 없겠지요! 그냥 바꾸기에 바보라고 쓰면 되니까요..)
따라서 찾기에서 찾은 문자를 그대로 ^&을 이용하여 가져온 후 그 단어 앞에는 열기괄호(를 뒤에는 닫기괄호)를 붙여줍니다. 이것이 여기서의 목적이니까요...
5.
검색옵션의 패턴일치(와일드카드) 사용에 반드시 체크를 해제하시고...........
여기에서 찾을내용에 %%를 입력합니다.
바꿀내용에 space 하나를 입력합니다.
■ 설명
공백문자 대신 처음에 치환된 나머지 공백문자를 되돌리기 위해서 %% 이놈을 공백으로 다시 바꿉니다.
위에서 보면 왜 번거롭게 공백을 저렇게 바꿀까 생각을 하시겠지만 다른 방법으로 함 해보세요.. 결과가 어떻게 되나..좀 고민하시면 얼마든지 응용할 수 있는 작품(?!)이 나올 것입니다. 좀 길이 먼 듯 보여도 워드의 도움말에 모든 답이 있지요...
따라서 불가능하게는 보이지 않습니다만, 위의 어떤 예보다 더 많은 선행작업이 필요하므로 나중에 해 보시고,
워드의 구성이 어떻게 되었는 지는 모르나
해당부분들을 모두 복사하여 (양이 많이면 10페이지 등) 엑셀에 붙여넣기를 합니다.
그러면 문단단위로 잘 워드를 만드신 경우라면
엑셀 시트상에 한줄 한줄에 문장 하나 하나가 차지하며 복사가 될 것입니다.
소트작업을 할 것인데 한글제거 후는 영어의 순서는 똑같아야 하므로 앞쪽에 일련번호를 아래로 자동완성기능으로 쭉 매깁니다.
그리고 문장이 들어있는 셀을 키값으로 소트를 한 후 모여있는 모든 한글 문장들은 제거하고
다시 일련번호를 키값으로 소트하면 영어만 살아남게 됩니다.
이것을 원래 워드에 사용하면 됩니다. 물론 워드내에 많은 서식이 포함되어 있으면 워드에 복사 후 또 서식작업을 해야 하므로 이 경우에는 의미가 없겠습니다.
도움이 되시기를..........