fixmint
UK

Курсивні лапки та тире ламають код: як їх випрямити

Автор: · · оновлено 8 листопада 2026 р. · 4 хв читання

Курсивні лапки, курсивні апострофи, en- і em-тире та нерозривні пробіли виглядають так само, як їхні звичайні аналоги, але комп'ютер сприймає їх як різні символи. Код, CSV-файли, формули в таблицях і рядки команд очікують звичайні. Вставлена лапка перестає бути рядком, подвійний дефіс в аргументі перетворюється на тире, а нерозривний пробіл може завадити програмі прочитати рядок. Випряміть символи перед вставкою в код, а потім перевірте результат там, де він буде працювати.

Виправлення вставленого текстуТекст із розірваними рядкамиБезкоштовно

Звідки беруться ці символи

Текстові редактори та багато програм для електронної пошти замінюють прямі лапки на курсивні під час набору. Це називається розумними лапками. Word може також перетворити два дефіси на тире. Веб-сторінки та деякі редактори вставляють нерозривні пробіли, U+00A0, які не дають двом словам переноситися на різні рядки. Ці символи правильні з погляду типографіки, тому й з'являються. Але для будь-чого, що читає програма, вони помилкові.

Що ламається і де

ДеЩо йде не так
Вихідний кодКурсивні лапки не є обмежувачами рядків, а багато мов відхиляють курсивну лапку або нерозривний пробіл поза рядком
Команди оболонкиТире, введене як en-тире, не є позначкою параметра, тож програма бачить невідомий аргумент
CSV-файлиПарсери обгортають поля в прямі подвійні лапки, тому курсивні лапки не захищають кому всередині поля
Формули в таблицяхКурсивні лапки стають частиною тексту, або формула повертає помилку
JSONКурсивні лапки не є допустимими обмежувачами рядків, тож парсер завершується з помилкою

Правила лапок, яких дотримуються CSV-файли, описано в посібнику з CSV до JSON.

Випряміть їх у fixmint

Три інструменти охоплюють типові випадки, і кожен обробляє свій набір символів.

  1. Курсивні лапки. Відкрийте виправлення вставленого тексту і позначте Випрямити курсивні лапки. Він замінює курсивні одинарні лапки та апострофи на пряму одинарну лапку, а курсивні подвійні лапки на прямі подвійні. Тире він не чіпає. Інші опції, як-от обрізання рядків і стискання повторних пробілів, увімкнені за замовчуванням.
  2. Тире, трикрапка та незвичайні пробіли. Відкрийте видалення невидимих символів і позначте Також перетворити курсивні лапки, en/em-тире та … на звичайний ASCII. Тире стануть дефісом, а трикрапка замінить три крапки. Нерозривні пробіли за замовчуванням стають звичайними пробілами. Режим позначення показує, де саме внесено кожну зміну.
  3. Один символ або фраза. Відкрийте пошук і заміну, залиште Регулярний вираз вимкненим і введіть символ у поле Знайти, а його звичайний варіант у поле Замінити. Коли регулярний вираз вимкнено, поле пошуку працює буквально, тож курсивна лапка збігається лише сама з собою.

Ось результат другого інструмента для типової вставки:

ДоПісля
“Привіт”, — сказала вона."Привіт", — сказала вона.
Це зроблено.Це зроблено.
—verbose-verbose

Останній рядок показує обмеження. Кожне тире стає одним дефісом, тож подвійний дефіс, який текстовий редактор об'єднав в один em-тире, повертається як один дефіс. Виправте такі прапорці, як --verbose, вручну після конвертації.

Вставте результат туди, де він буде працювати, і перевірте його там. Випрямлення не змінює зміст тексту, тож успішний запуск є справжньою перевіркою.

Перевірте результат

Ще раз проженіть випрямлений текст через видалення невидимих символів і прочитайте режим позначення. Будь-яка позначка, що залишилася, означає символ, який перший прохід не охопив, наприклад пробіл нульової ширини або незвичайний пробіл. Режим позначення показує, де саме розташований кожен такий символ, тож його можна виправити на місці.

На екрані ці символи майже не відрізнити, тож візуальна перевірка їх пропускає. Пряма та курсивна лапки відрізняються лише трохи формою, а en-тире в багатьох шрифтах схоже на дефіс. Перевіряйте текст, а не покладайтеся на око.

Коли не варто випрямляти

Залишайте курсивні лапки та тире в тексті, який люди читатимуть у друку або на веб-сторінці. Там це правильна типографіка. Випрямляйте лише той текст, що потрапляє в код, CSV, формулу чи команду. Для тексту, який ви пишете в текстовому редакторі, вимкніть опцію розумних лапок, якщо згодом плануєте вставляти його в код.

Особливі випадки

  • Змішані лапки. Документ може містити і курсивні, і прямі лапки. Виконайте крок випрямлення один раз, а потім пошукайте в результаті ті, що залишилися, бо джерела відрізняються.
  • Апострофи всередині слів. Курсивний апостроф у скороченні стає прямим, а саме цього очікує більшість коду. Перевірте скорочення, які опиняються всередині рядка.
  • Зберігайте оригінал. Випрямлення незворотне: пряма лапка не скаже, з якої курсивної вона походить. Зберігайте початковий документ і вносьте зміни в копію.
  • Тире в реченнях. Em-тире, яким розірвано речення, стає дефісом, тож «зачекай — зупинись» перетвориться на «зачекай - зупинись». Якщо текст призначено для читання, а не для коду, поставте тире вручну.
  • Невидимі символи. Вставлений текст може містити також пробіли нульової ширини. Це не лапки, але ламають код подібним чином. Про них розповідає посібник із невидимих символів у тексті.

Переклад з Англійський оригінал за допомогою ШІ.

Коментарі

    Коментарів поки немає. Будьте першим.

    Ваша оцінка (необов’язково)

    Ваша пошта ніколи не показується і не зберігається.

    Обкладинка: How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 сторінки про людські, економічні та стратегічні переваги, які залишаються рідкісними, коли ШІ може виконувати більшість когнітивної роботи.

    $3.84Придбати на GumroadАнглійською