تری اغلب اطلاعاتی مانند نام مشتریان را از یک برنامه دیگر به Word وارد می کند. مشکل این است که نام ها در قالب (John^t^tDoe) هستند که نام و نام خانوادگی با دو زبانه از هم جدا شده و کل نام با پرانتز احاطه شده است. تری باید دو زبانه را با یک فاصله جایگزین کند. او میداند که میتواند از یک Find and Replace معمولی برای انجام این کار استفاده کند، اما همه نمونههای دیگر دو برگه در سند را تحت تأثیر قرار میدهد. او فکر می کند آیا راهی برای جستجوی پرانتز، یک کلمه و دو زبانه و جایگزینی آن با پرانتز، کلمه و یک فاصله وجود دارد؟
در واقع می توان این کار را با استفاده از قابلیت Find and Replace معمولی Word انجام داد. ابتدا، اگر نامها همه در یک بخش از سند شما هستند، میتوانید پاراگرافهایی را که حاوی نامها هستند انتخاب کنید و یک Find and Replace ساده انجام دهید تا دو کاراکتر برگه را به یک فضای واحد تغییر دهید. این کار جایگزینها را فقط به مواردی که انتخاب کردهاید محدود میکند و از ایجاد تغییرات در قسمتهای دیگر سند که ممکن است کاراکترهای دو زبانه در یک زمینه متفاوت استفاده شده باشد، اجتناب میکند.
اگر نمی توان این کار را انجام داد (شاید نام ها به یک ناحیه از سند محدود نمی شوند)، همچنان می توانید از Find and Replace استفاده کنید. تنها کاری که باید انجام دهید این است که کاری را انجام دهید که جستجوی کارت وحشی نامیده می شود، که قدرت واقعی را در پشت Find and Replace باز می کند. این مراحل را دنبال کنید:
شکل 1. تب Replace از کادر محاوره ای Find and Replace.
- Ctrl+H را فشار دهید . Word تب Replace را در کادر گفتگوی Find and Replace نمایش می دهد.
- اگر روی دکمه بیشتر قابل مشاهده است کلیک کنید. (شکل 1 را ببینید.)
- تیک Use Wildcards را انتخاب کنید.
- در کادر Find What، این را وارد کنید: (([AZ][az]{1,})(^t^t)([AZ][az]{1,}))
- در کادر Replace With، این را وارد کنید: 1 3
- روی Replace All کلیک کنید.
کلید درک آنچه در این مراحل روی می دهد، درک الگوی جستجوی ایجاد شده در مرحله 4 است. به راحتی می توان آن را به بخش هایی تقسیم کرد و هر قسمت (در الگو) با پرانتز احاطه شده باشد. قسمت اول این است:
(([A-Z][a-z]{1,})
این بخش می گوید "هر پرانتز باز را پیدا کنید، نشان داده شده با (، به دنبال آن یک حرف بزرگ، نشان داده شده با [AZ]، و به دنبال آن حداقل یک حرف کوچک، نشان داده شده با [az]{1,}". هدف از این بخشی از الگو این است که قسمت اول نام را در داخل پرانتز، قبل از دو کاراکتر برگه، پیدا کنید.
قسمت بعدی الگو این است:
(^t^t)
این قسمت می گوید "دو کاراکتر برگه را پیدا کنید". این کاملاً خود توضیحی است. از آنجایی که این قسمت از قسمت اول پیروی می کند که قبلاً در مورد آن صحبت شد، به این معنی است که همانطور که قبلاً ذکر شد دو تب باید از نام اول پیروی کنند. بخش سوم الگو به این صورت است:
([A-Z][a-z]{1,}))
این قسمت از الگو بسیار شبیه به قسمت اول است. اساساً میگوید "یک حرف بزرگ را پیدا کنید که با [AZ] نشان داده میشود، به دنبال آن حداقل یک حرف کوچک، نشان داده شده با [az]{1,}، و پس از آن یک پرانتز بسته، نشان داده شده با )". روی هم رفته، اثر الگوی جستجو یافتن نام کوچک و به دنبال آن دو کاراکتر برگه و به دنبال آن نام خانوادگی است.
به یاد داشته باشید که هر قسمت از الگوی جستجو در داخل مجموعه ای از پرانتز قرار می گیرد. این اجازه می دهد تا هر قسمت در الگوی "Replace With" در مرحله 5 ارجاع داده شود. الگو - 1 3 - به این معنی است که هر چیزی که با الگوی جستجو مطابقت دارد با آنچه در قسمت 1 الگوی جستجو یافت شد (نام اول) جایگزین شود. و پرانتز پیشرو)، یک فاصله واحد، و آنچه در قسمت 3 الگوی جستجو یافت شد (نام خانوادگی و پرانتز انتهایی). خیلی قدرتمنده واقعا
باید توجه داشته باشید که بسته به ویژگیهای نامهای موجود در سند، ممکن است نیاز داشته باشید آنچه را که جستجو میکنید، تغییر دهید. همانطور که در اینجا نشان داده شده است، جستجو عالی عمل می کند، مشروط بر اینکه نام ها (اول و آخر) با یک حرف بزرگ شروع شوند و هیچ کاراکتر دیگری مانند فاصله یا نقطه در آنها وجود نداشته باشد. اگر ساختار نامهای شما به این شکل نیست، میتوانید الگوی جستجو را تغییر دهید تا محدودیت کمتری داشته باشد. به عنوان مثال، الگوی جستجوی زیر را در نظر بگیرید که می تواند در مرحله 4 استفاده شود:
((*)(^t^t)(*))
این هر تعداد کاراکتر بین پرانتز باز و برگه ها و هر تعداد کاراکتر بین زبانه ها و پرانتز بسته را پیدا می کند.