[{"data":1,"prerenderedAt":576},["ShallowReactive",2],{"blog-uk-how-to-find-and-replace-text-in-bulk":3},{"id":4,"title":5,"alt":6,"author":7,"body":8,"category":537,"description":538,"extension":539,"faq":540,"image":562,"meta":563,"navigation":564,"path":565,"publishedAt":395,"seo":566,"stem":567,"tags":568,"updatedAt":574,"__hash__":575},"blog\u002Fuk\u002Fhow-to-find-and-replace-text-in-bulk.md","Як зробити пошук і заміну тексту масово (без Word)","Текстовий документ, у якому кілька виділених збігів одночасно замінюються новим текстом за один прохід — просто в браузері, а не в десктопній програмі","Vibe Apps Pro Team",{"type":9,"value":10,"toc":525},"minimark",[11,15,18,23,26,29,143,150,154,166,198,201,205,208,298,306,310,313,331,334,422,425,444,448,451,454,457,461,464,471,486,490,505,509,512,522],[12,13,14],"p",{},"Щоб зробити пошук і заміну тексту онлайн масово, необов'язково тримати відкритим Microsoft Word — браузерний інструмент зі справжніми регулярними виразами впорається швидше і не спотикається на блоці, вставленому з PDF, експорту з CMS чи файлу коду, як це буває з діалогом Ctrl+H у Word. Встав текст, задай шаблон пошуку, натисни «Замінити все» один раз — і всі збіги оновляться за один прохід, безкоштовно й без інсталяцій.",[12,16,17],{},"Ось як це працює покроково, де саме версія Word не витягує масові правки, і які шаблони варто тримати напохваті.",[19,20,22],"h2",{"id":21},"чому-пошук-і-заміна-у-word-не-витягує-масові-правки","Чому Пошук і заміна у Word не витягує масові правки",[12,24,25],{},"Діалог Ctrl+H у Word чудово підходить для одноразового виправлення одруку в одному .docx-файлі. Але щойно «масово» означає більше, ніж жменю кліків, він стає повільним і ненадійним: текст, вставлений ззовні Word, часто тягне за собою форматування, яке Word автоматично не прибирає, а його синтаксис пошуку за шаблоном — це не той регекс, який задокументований будь-де ще.",[12,27,28],{},"У Word справді є чекбокс «Use wildcards» (Ctrl+H → More >> → Use wildcards), який відкриває пошук за шаблоном. Просто це не стандартний регекс — це окремий, старіший синтаксис із власними метасимволами:",[30,31,32,49],"table",{},[33,34,35],"thead",{},[36,37,38,43,46],"tr",{},[39,40,42],"th",{"align":41},"left","Завдання",[39,44,45],{"align":41},"Шаблони Word",[39,47,48],{"align":41},"Справжній регекс (браузерний інструмент)",[50,51,52,69,89,104,126],"tbody",{},[36,53,54,58,64],{},[55,56,57],"td",{"align":41},"Знайти будь-яку цифру",[55,59,60],{"align":41},[61,62,63],"code",{},"[0-9]",[55,65,66],{"align":41},[61,67,68],{},"\\d",[36,70,71,74,84],{},[55,72,73],{"align":41},"Знайти межу слова",[55,75,76,79,80,83],{"align":41},[61,77,78],{},"\u003C"," (початок слова) \u002F ",[61,81,82],{},">"," (кінець слова)",[55,85,86],{"align":41},[61,87,88],{},"\\b",[36,90,91,94,99],{},[55,92,93],{"align":41},"Один або більше попереднього символу",[55,95,96],{"align":41},[61,97,98],{},"@",[55,100,101],{"align":41},[61,102,103],{},"+",[36,105,106,109,119],{},[55,107,108],{"align":41},"Група захоплення \u002F зворотне посилання",[55,110,111,114,115,118],{"align":41},[61,112,113],{},"(...)"," у пошуку, ",[61,116,117],{},"\\1"," у заміні",[55,120,121,114,123,118],{"align":41},[61,122,113],{},[61,124,125],{},"$1",[36,127,128,131,134],{},[55,129,130],{"align":41},"Будь-яка Unicode-літера (кирилиця, діакритика)",[55,132,133],{"align":41},"Немає відповідника",[55,135,136,139,140],{"align":41},[61,137,138],{},"\\p{L}+"," із флагом ",[61,141,142],{},"u",[12,144,145,146,149],{},"Саме останній рядок і ламає все на практиці. У шаблонному движку Word немає поняття Unicode property classes, тож шаблон, який мав би ловити «Іван Петренко» чи «José García» поряд із «John Smith», у Word потребує обхідного шляху — а в регекс-движку з підтримкою ",[61,147,148],{},"\\p{L}"," просто працює.",[19,151,153],{"id":152},"швидший-спосіб-одна-вставка-один-прохід","Швидший спосіб: одна вставка, один прохід",[12,155,156,157,165],{},"Пропусти всі діалогові вікна. Встав весь блок тексту в наш інструмент ",[158,159,160],"strong",{},[161,162,164],"a",{"href":163},"\u002Ffind-replace","Пошук і заміна"," — працює на 100% у твоєму браузері, жодні дані не йдуть на сервер — і весь процес складається з чотирьох кроків:",[167,168,169,176,186,192],"ol",{},[170,171,172,175],"li",{},[158,173,174],{},"Встав свій текст."," Ніякого завантаження файлів, ніякої конвертації форматів — звичайний текст одразу йде в поле.",[170,177,178,181,182,185],{},[158,179,180],{},"Введи термін пошуку."," Увімкни ",[158,183,184],{},"Use Regex",", якщо шукаєш за шаблоном, а не буквальний рядок.",[170,187,188,191],{},[158,189,190],{},"Налаштуй Case Sensitive і Global"," під свою задачу — що саме змінює кожен перемикач, дивись у FAQ нижче.",[170,193,194,197],{},[158,195,196],{},"Перевір підсвічені збіги",", а тоді натисни Replace All. Усі збіги оновлюються за один прохід — без циклу «Замінити» → «Знайти наступне» → «Замінити».",[12,199,200],{},"Лічильник збігів одразу показує, скільки замін відбудеться, ще до того як ти їх підтвердиш, а візуальне підсвічування (перший збіг — яскраво-жовтим, решта — світлішим відтінком) дає змогу оком перевірити, чи шаблон зловив саме те, що треба, перш ніж щось перезаписувати.",[19,202,204],{"id":203},"буквальний-рядок-чи-регекс-обирай-інструмент-під-задачу","Буквальний рядок чи регекс? Обирай інструмент під задачу",[12,206,207],{},"Не кожна масова правка потребує регексу — тягнутися по шаблон, коли вистачило б звичайного рядка, лише додає шанс помилитися в синтаксисі. Ось як визначитися:",[30,209,210,222],{},[33,211,212],{},[36,213,214,216,219],{},[39,215,42],{"align":41},[39,217,218],{"align":41},"Підхід",[39,220,221],{"align":41},"Шаблон \u002F термін",[50,223,224,241,258,271,285],{},[36,225,226,229,232],{},[55,227,228],{"align":41},"Уніфікувати неправильно написану назву продукту",[55,230,231],{"align":41},"Буквально, з урахуванням регістру",[55,233,234,237,238],{"align":41},[61,235,236],{},"\"Editly App\""," → ",[61,239,240],{},"\"EditlyApp\"",[36,242,243,246,249],{},[55,244,245],{"align":41},"Виправити подвійні пробіли після крапки",[55,247,248],{"align":41},"Буквально",[55,250,251,254,255],{"align":41},[61,252,253],{},"\".  \""," (два пробіли) → ",[61,256,257],{},"\". \"",[36,259,260,263,266],{},[55,261,262],{"align":41},"Видалити номери телефонів перед публікацією",[55,264,265],{"align":41},"Регекс",[55,267,268],{"align":41},[61,269,270],{},"\u002F\\d{3}-\\d{3}-\\d{4}\u002Fg",[36,272,273,276,279],{},[55,274,275],{"align":41},"Прибрати HTML-теги перед чистим підрахунком слів",[55,277,278],{"align":41},"Регекс, лінивий квантифікатор",[55,280,281,284],{"align":41},[61,282,283],{},"\u002F\u003C.*?>\u002Fg"," → порожній рядок",[36,286,287,290,293],{},[55,288,289],{"align":41},"Уніфікувати імена різними мовами",[55,291,292],{"align":41},"Регекс з підтримкою Unicode",[55,294,295],{"align":41},[61,296,297],{},"\u002F\\p{L}+\u002Fgu",[12,299,300,301,305],{},"Для глибшого занурення в синтаксис регексу — групи захоплення, жадібне проти лінивого зіставлення, повна таблиця метасимволів — читай ",[161,302,304],{"href":303},"\u002Fblog\u002Fregex-find-replace-guide","гайд з регекс пошуку і заміни",", тут на це просто не вистачить місця.",[19,307,309],{"id":308},"групи-захоплення-масове-редагування-що-переставляє-а-не-просто-замінює","Групи захоплення: масове редагування, що переставляє, а не просто замінює",[12,311,312],{},"Більшість масових замін підставляють один рядок замість іншого. Прийом, який реально економить години, — переставляти те, що вже є. А для цього потрібні групи захоплення.",[12,314,315,316,318,319,322,323,326,327,330],{},"Візьми частину патерна в дужки — і вона стає пронумерованою групою, до якої можна звернутися в рядку заміни через ",[61,317,125],{},", ",[61,320,321],{},"$2"," і так далі. Заміна виконується нативним ",[61,324,325],{},"String.replace()"," з JavaScript, тож стандартний синтаксис ",[61,328,329],{},"$n"," працює рівно так, як задокументовано.",[12,332,333],{},"Канонічний випадок — список імен у неправильному порядку:",[30,335,336,351],{},[33,337,338],{},[36,339,340,342,345,348],{},[39,341],{"align":41},[39,343,344],{"align":41},"Патерн",[39,346,347],{"align":41},"Заміна",[39,349,350],{"align":41},"Результат",[50,352,353,376,399],{},[36,354,355,358,363,368],{},[55,356,357],{"align":41},"Імена",[55,359,360],{"align":41},[61,361,362],{},"(\\w+), (\\w+)",[55,364,365],{"align":41},[61,366,367],{},"$2 $1",[55,369,370,237,373],{"align":41},[61,371,372],{},"Шевченко, Тарас",[61,374,375],{},"Тарас Шевченко",[36,377,378,381,386,391],{},[55,379,380],{"align":41},"Дати",[55,382,383],{"align":41},[61,384,385],{},"(\\d{4})-(\\d{2})-(\\d{2})",[55,387,388],{"align":41},[61,389,390],{},"$3.$2.$1",[55,392,393,237,396],{"align":41},[61,394,395],{},"2026-08-08",[61,397,398],{},"08.08.2026",[36,400,401,404,409,414],{},[55,402,403],{"align":41},"Markdown-посилання",[55,405,406],{"align":41},[61,407,408],{},"\\[(.*?)\\]\\((.*?)\\)",[55,410,411],{"align":41},[61,412,413],{},"$1 ($2)",[55,415,416,237,419],{"align":41},[61,417,418],{},"[довідка](\u002Fhelp)",[61,420,421],{},"довідка (\u002Fhelp)",[12,423,424],{},"Триста рядків переставлено за один прохід. Руками це вечір роботи; звичайним пошуком і заміною — неможливо взагалі, бо буквальний пошук не має як запам'ятати те, що знайшов.",[12,426,427,428,430,431,434,435,437,438,443],{},"Одне застереження варто засвоїти: ",[61,429,125],{}," — стандарт для JavaScript, для ",[61,432,433],{},"re.sub"," у Python (там як ",[61,436,117],{},") і для більшості сучасних інструментів, але ",[158,439,440,441],{},"режим підстановчих знаків у Microsoft Word використовує ",[61,442,117],{},". Патерни, скопійовані з туторіала по Word, вставлять у твій текст буквальний зворотний слеш із одиницею замість захопленої групи — і Word про це не попередить.",[19,445,447],{"id":446},"перевір-кількість-збігів-перш-ніж-щось-замінювати","Перевір кількість збігів, перш ніж щось замінювати",[12,449,450],{},"Одна звичка, яка рятує від зіпсованих масових правок: подивись на лічильник збігів, перш ніж тиснути «Замінити все».",[12,452,453],{},"Інструмент рахує збіги наживо, поки ти набираєш патерн, і підсвічує їх у тексті. Це число — твоя перевірка на здоровий глузд. Якщо очікуєш виправити 40 входжень назви продукту, а лічильник показує 400, патерн надто жадібний — найімовірніше, ловить збіги всередині довших слів. Якщо показує 0, хоча ти впевнений, що текст там є, у тебе проблема з невидимими символами (про це нижче) або з регістром.",[12,455,456],{},"Масові заміни руйнівні й спрацьовують усюди одночасно. Десять секунд на читання одного числа дешевші за відкат правки, яка тихо зіпсувала 300 рядків.",[19,458,460],{"id":459},"пастка-невидимих-символів","Пастка невидимих символів",[12,462,463],{},"Найпоширеніша причина, чому «очевидно однаковий» буквальний пошук не знаходить жодного збігу: на рівні байтів текст насправді не ідентичний, хоча на екрані виглядає саме так.",[12,465,466,467,470],{},"Текст, скопійований з PDF, часто містить нерозривні пробіли (U+00A0) замість звичайних (U+0020) — вони рендеряться однаково, тож буквальний пошук звичайного пробілу мовчки не знаходить збігу. «Розумні» лапки, вставлені з Word (“ ”), мають ту саму проблему: вони не збігаються з прямими лапками (",[61,468,469],{},"\"",") у фрагменті коду чи CSV-файлі, хоча обидва варіанти на екрані виглядають як звичайні лапки. Якщо пошук постійно повертає нуль результатів у тексті, де шуканий фрагмент точно є, зазвичай причина саме в цьому.",[12,472,473,474,480,481,485],{},"Спочатку пропусти блок тексту через ",[158,475,476],{},[161,477,479],{"href":478},"\u002Fremove-spaces","Виправити пробіли"," — інструмент нормалізує нерозривні пробіли, прибирає символи нульової ширини й вирівнює «розумні» лапки до ASCII за один прохід — і тоді буквальний пошук і заміна поведеться саме так, як ти очікуєш. У ",[161,482,484],{"href":483},"\u002Fblog\u002Fhow-to-remove-extra-spaces-from-text-online","гайді про видалення зайвих пробілів"," детально розписано, які саме невидимі символи зазвичай лишають після себе PDF-файли та вебсторінки.",[19,487,489],{"id":488},"після-масової-заміни-перевір-чи-не-зявилися-дублікати","Після масової заміни: перевір, чи не з'явилися дублікати",[12,491,492,493,499,500,504],{},"Масштабна заміна іноді створює дублікати, яких раніше не було — наприклад, уніфікація трьох різних написань назви компанії в одне може лишити три тепер уже ідентичні рядки там, де раніше було три різні. Наступний прохід через ",[158,494,495],{},[161,496,498],{"href":497},"\u002Fremove-duplicates","Видалити дублікати"," ловить цей побічний ефект до того, як текст піде в реліз. Якщо прибираєш список, а не суцільний текст, ",[161,501,503],{"href":502},"\u002Fblog\u002Fhow-to-remove-duplicate-lines-vscode","гайд про видалення дублікатів рядків"," розбирає пастки з регістром і пробілами, через які дедуп пропускає те, що мав би зловити.",[19,506,508],{"id":507},"регістр-ось-де-масові-заміни-найчастіше-ламаються","Регістр — ось де масові заміни найчастіше ламаються",[12,510,511],{},"Найпоширеніша помилка масової заміни — не поганий шаблон, а випадково залишений увімкненим Case Sensitive. Шукай «word» з увімкненим Case Sensitive — і мовчки пропустиш кожне «Word» на початку речення й кожне «WORD» у заголовку, без жодного попередження про помилку. Якщо ти не полюєш конкретно на назву змінної з точним регістром чи абревіатуру, лишай перемикач вимкненим для звичайного тексту і вмикай лише тоді, коли сам регістр — частина того, що шукаєш.",[12,513,514,515,521],{},"Коли заміна завершена, прожени результат через ",[158,516,517],{},[161,518,520],{"href":519},"\u002F","Лічильник слів",", щоб переконатися, що нічого не змінилося несподівано — шаблон, який зловив більше чи менше збігів, ніж планувалося, зазвичай видає себе несподіваним зсувом загальної кількості слів.",[12,523,524],{},"Жоден із цих кроків не торкається сервера. Пошук збігів, підсвічування, заміна — усе це виконується в JavaScript-движку твого браузера, тому самому, що рендерить цю сторінку, і текст зникає в ту мить, коли ти закриваєш вкладку.",{"title":526,"searchDepth":527,"depth":527,"links":528},"",2,[529,530,531,532,533,534,535,536],{"id":21,"depth":527,"text":22},{"id":152,"depth":527,"text":153},{"id":203,"depth":527,"text":204},{"id":308,"depth":527,"text":309},{"id":446,"depth":527,"text":447},{"id":459,"depth":527,"text":460},{"id":488,"depth":527,"text":489},{"id":507,"depth":527,"text":508},"Dev Tools","Масовий пошук і заміна тексту онлайн з повною підтримкою регулярних виразів — без Word, без завантаження на сервер. Спробуй безкоштовно.","md",[541,544,547,550,553,556,559],{"question":542,"answer":543},"Чи є у Word справжні регулярні вирази в Пошуку і заміні?","Ні — у діалозі Ctrl+H у Word є чекбокс «Use wildcards», який вмикає власну, пропрієтарну мову шаблонів, а не стандартні регулярні вирази. Для тих самих задач там інші метасимволи: [0-9] замість \\d, \u003C і > для початку\u002Fкінця слова замість \\b, і @ замість +. Групи захоплення й зворотні посилання підтримуються, але через \\1 у полі заміни, а не $1. Якщо колись копіював регулярку зі Stack Overflow у Word і вона мовчки не спрацювала — тепер знаєш чому.",{"question":545,"answer":546},"Чи можна робити масову заміну одразу в кількох текстових блоках або файлах онлайн?","Інструмент у браузері обробляє один вставлений блок за раз — це свідоме рішення: усе працює на клієнті, без завантаження на сервер, тож немає серверного пакетного завдання, яке сканує цілу папку з файлами. Для кількох файлів доведеться відкривати кожен окремо, вставляти вміст, робити заміну і копіювати результат назад. Це більше ручної роботи, ніж написання скрипта, але для кількох файлів це швидше, ніж писати той скрипт, і при цьому нічого не залишає твій комп'ютер.",{"question":548,"answer":549},"Чому Пошук і заміна не знаходить збіг у тексті, який виглядає однаково на екрані?","Вставлений текст часто містить невидимі символи, які на екрані виглядають як звичайний пробіл чи лапки, але насправді це інший байт. Нерозривний пробіл (U+00A0), скопійований з PDF чи вебсторінки, візуально не відрізняється від звичайного пробілу (U+0020), але не збігається з ним у пошуку. Так само «розумні» лапки (“ ”), скопійовані з Word, не збігаються з прямими лапками (\"). Пропусти текст через наш інструмент [Виправити пробіли](\u002Fremove-spaces) — і твій буквальний пошук почне працювати так, як ти очікуєш.",{"question":551,"answer":552},"У чому різниця між перемикачами Global match і Case Sensitive в інструменті пошуку і заміни?","Global match визначає, скільки збігів буде замінено — увімкнено означає кожне входження в тексті, вимкнено — лише перше знайдене. Case Sensitive визначає, чи вважаються «Word» і «word» однаковим збігом. Це незалежні перемикачі: можна замінити всі збіги без урахування регістру (Global увімкнено, Case Sensitive вимкнено) або зупинитися після виправлення лише першого входження з точним регістром (Global вимкнено, Case Sensitive увімкнено). Випадково залишений увімкненим Case Sensitive під час масової заміни — найпоширеніший спосіб мовчки пропустити половину цілей.",{"question":554,"answer":555},"Чи можна скасувати масову заміну, якщо щось пішло не так?","Так, якщо в інструмента є історія скасувань — наш зберігає останні 50 змін із дебаунсом 500 мс, тож невдалий Replace All скасовується одним Ctrl+Z, як у код-редакторі. Це помітна відмінність від Пошуку і заміни у Word, де скасування теж є, але воно відстежує історію змін усього документа впереміш з усім іншим, що ти набирав, тож легко відкотити далі, ніж хотілося.",{"question":557,"answer":558},"Чи безпечно вставляти конфіденційний текст в онлайн-інструмент пошуку і заміни?","Це повністю залежить від того, чи працює інструмент на клієнті. Наш [Пошук і заміна](\u002Ffind-replace) виконує логіку пошуку й заміни прямо в JavaScript-движку твого браузера — текст ніколи не передається на сервер, не логується і ніде не зберігається. Втім, завжди варто перевіряти реальну поведінку інструмента (відкрити вкладку Network і стежити за вихідними запитами), а не вірити заяві про приватність на слово — особливо перед тим, як вставляти щось під NDA чи з персональними даними.",{"question":560,"answer":561},"Як замінити лише перший збіг, а не всі входження одразу?","Вимкни перемикач Global match перед запуском заміни. З вимкненим Global інструмент зупиниться після першого знайденого збігу замість того, щоб пройтися по всьому тексту — корисно, коли треба виправити одне конкретне входження повторюваного рядка (наприклад, один неправильно підписаний заголовок), не чіпаючи всі інші входження того самого слова деінде в документі.","\u002Farticles\u002Fhow-to-find-and-replace-text-in-bulk\u002Fhero.webp",{},true,"\u002Fuk\u002Fhow-to-find-and-replace-text-in-bulk",{"title":5,"description":538},"uk\u002Fhow-to-find-and-replace-text-in-bulk",[569,570,571,572,573],"пошук і заміна тексту","масова заміна тексту","пошук і заміна онлайн","заміна за регулярним виразом","інструмент для редагування тексту",null,"4p6xjr9MRc3rEbOOhsV_EW-vXa3ml26FawJgsfkstw0",1786303796295]