Конвертировать текст в snake_case underscore_case Бесплатно Онлайн Безопасно
Вставьте строку и прочитайте её в snake_case. Всё происходит в вашем браузере — ничего набранного никуда не отправляется, — а правила следуют языку этой страницы, а не английскому.
Запишите иначе
Ничего не загружается
Та же строка во всех семи написаниях
| Написание | Та же строка, записанная так |
|---|---|
| прописные | CRÈME BRÛLÉE НА 2 — STRASSE 17, FOOBAR |
| строчные | crème brûlée на 2 — straße 17, foobar |
| Title Case | Crème Brûlée На 2 — Straße 17, Foobar |
| snake_case | crème_brûlée_на_2_straße_17_foo_bar |
| kebab-case | crème-brûlée-на-2-straße-17-foo-bar |
| camelCase | crèmeBrûléeНа2Straße17FooBar |
| адрес ссылки | creme-brulee-на-2-strasse-17-foobar |
Откуда взялись эти написания
Прописные и строчные буквы были когда-то двумя разными азбуками. Прописные — римские, высеченные в камне резцом; строчные происходят от каролингского минускула, выведенного пером, быстро бегущим по пергаменту. Печатники держали те и другие в отдельных кассах — верхней и нижней, — и английские названия пережили сами кассы. Формы из программирования куда моложе и придуманы ради одной задачи: имя не может содержать пробела. snake_case вышел из раннего C, camelCase — из Smalltalk, kebab-case — из Lisp, а слаг — из нужды поместить человеческий заголовок в адрес, где пробелы и диакритика не допускаются.
Где они встречаются
Прописная в каждом слове принадлежит заголовкам и обложкам книг; обычное предложение — почти всему остальному и всё чаще интерфейсам, потому что читается быстрее. snake_case именует столбцы баз данных и переменные Python; camelCase — переменные JavaScript и методы Java; kebab-case — классы CSS и имена файлов в веб-проектах. Слаг превращает заголовок статьи в последнюю часть её адреса, и это единственное преобразование здесь, которое читают поисковые машины.
Частые вопросы
Почему при переводе в прописные иногда меняется число букв?
Потому что регистр — свойство языка, а не знака. Немецкое ß в прописных становится SS: одна буква превращается в две. В турецком есть i с точкой и без неё, и прописная от i — İ, а не I; ошибка здесь превращает турецкое слово в другое. Преобразования на этой странице следуют правилам её собственного языка — потому один и тот же ввод на турецкой странице может дать не то, что на английской.
Почему слаг убирает диакритику и знаки препинания?
Потому что адресу предстоит пережить копирование в сообщение, печать на бумаге и набор от руки. Буквы с диакритикой законны в современном адресе, но при копировании кодируются процентами, и читаемый адрес превращается в вереницу символов. Сведение их к простым буквам, цифрам и дефисам оставляет адрес читаемым, пригодным для пересылки и одинаковым всюду, где он появляется.
Ответ точный?
Там, где обе единицы определены одна через другую целыми числами, — да; страница говорит об этом над числом, и единственное округление — в том, сколько знаков показано. Там, где отношение не имеет конечной десятичной записи, страница показывает двенадцать значащих цифр и называет соотношение приближённым, а не делает вид, что это не так.
Уходит ли с моего устройства что-нибудь из набранного?
Нет. Счёт идёт в вашем браузере; ничего не отправляется, да и некуда — сервера для этого нет. Загрузите страницу один раз, и она работает с выключенной сетью.
Зачем конвертировать текст в snake_case
Программист не может назвать переменную annual report total, потому что имя не может содержать пробел. Столбец базы данных не может называться Customer First Name. Файл с именем Final Draft (2).docx рано или поздно рассердит скрипт. Где-то по пути человеческая фраза должна стать одним словом, и форма, на которой остановились очень многие сообщества, — snake_case: все буквы строчные, слова соединены подчёркиваниями, annual_report_total, customer_first_name, final_draft_2. Конвертировать текст в snake_case — значит взять любую фразу в любом состоянии и превратить в эту форму за один шаг.
Вставьте строку и прочитайте её обратно в snake_case. Преобразование происходит в вашем браузере, ничто из набранного никуда не отправляется, а правила следуют языку этой страницы, а не английскому. Страница режет строку на слова, переводит их в нижний регистр и соединяет подчёркиваниями. Строка, уже записанная в camelCase, режется и по своим заглавным, поэтому fooBar становится foo_bar. Ниже вы найдёте, что именно это значит, что отбрасывается, как страница обращается с трудными буквами разных языков, где snake_case — соглашение, а где нет, и ловушки, в которые попадают те, кто конвертирует текст в snake_case в спешке.
Что делает преобразование
Разрезать, в нижний регистр, соединить
Сначала страница режет строку на слова. Затем переводит каждое в нижний регистр и соединяет их подчёркиваниями. Строка Crème brûlée for 2 — straße 17, fooBar возвращается как crème_brûlée_for_2_straße_17_foo_bar. Акценты сохраняются, числа остаются отдельными словами, тире и запятая исчезли, а fooBar разрезан надвое, потому что заглавная внутри него отмечает границу.
Где проходят разрезы
Граница слова — это пробел, знак препинания, тире, символ или переход от строчной буквы к заглавной внутри слова. Так, фраза customerFirstName, фраза Customer First Name и фраза customer-first-name все превращаются в customer_first_name. В этом практическая сила преобразования: оно принимает почти любую исходную форму и всегда приходит в одно и то же место.
Копирование результата
Кнопка рядом с результатом копирует его в буфер обмена. Вставьте его в редактор, схему или диалог файла, где нужно имя.
Чего преобразование не делает
Оно не сохраняет пунктуацию
Запятые, точки и тире — это границы между словами, а не символы для переноса. Это то, что нужно для имени файла или столбца базы данных, и не то, что нужно для прозы. Если вы пропустите предложение через страницу, оно вернётся как имя, а не как предложение, а исходная пунктуация исчезла.
Оно не убирает акценты
Строка сохраняет свои буквы с акцентами: crème_brûlée. Многие системы их принимают, но некоторые нет, а имя, содержащее их, может вызвать неприятности в старых инструментах. Если вам нужны простые буквы, используйте страницу URL slug, которая снимает значки с латинских букв.
Оно не проверяет, допустимо ли имя в вашем языке
У языков программирования свои правила. Некоторые запрещают имя, начинающееся с цифры, некоторые резервируют слова вроде class или return. Страница превращает текст в имя правильной формы, а вам по-прежнему нужно убедиться, что имя допустимо там, где вы его используете. Фраза вроде 2 for 1 offer превращается в 2_for_1_offer, которое большинство языков отвергает с первого символа.
Язык имеет значение
Письменности без пробелов
Для разрезания на слова нужны границы. Китайский и японский пишутся без пробелов, поэтому строка в этих письменностях возвращается одним словом. Страница предпочитает сказать об этом, а не резать там, где угадала, поскольку неверный разрез дал бы имя, которое выглядит правдоподобно и означает не то.
Турецкий и i с точкой
Перевод в нижний регистр следует правилам языка страницы. В турецком строчная форма I — это ı без точки, а строчная форма İ — это i. Конвертер, применяющий английские правила, меняет слова. Эта страница следует языку, на котором написана.
Немецкий и острое s
Немецкая ß — уже строчная буква и сохраняется, как в straße_17. Заглавное STRASSE возвращается как strasse, потому что заглавная форма не помнит, пришла ли она от ß или от двух букв.
Письменности справа налево и индийские
В арабском, иврите и индийских письменностях между словами есть пробелы, но нет регистра, поэтому страница соединяет их слова подчёркиваниями и оставляет буквы как есть. Принимает ли такие имена данный инструмент — другой вопрос.
Где snake_case — соглашение
Python и Ruby
Руководство по стилю Python рекомендует snake_case для функций, переменных и модулей, а Ruby следует той же привычке. Если вы пишете код на любом из них, ваши имена почти всегда в этой форме.
Базы данных
Имена таблиц и столбцов в SQL обычно snake_case: customer_id, created_at, order_total. Это избавляет от необходимости заключать имена в кавычки и безопасно во всех системах баз данных, некоторые из которых приводят имена без кавычек к одному регистру и превратили бы camelCase в нечитаемую череду букв.
Файлы данных и API
Многие веб-сервисы используют ключи snake_case в своём JSON, а электронные таблицы, экспортированные для дальнейшей обработки, часто несут заголовки snake_case. Если ваши данные идут через CSV в JSON, строка заголовков становится ключами, а аккуратные заголовки snake_case облегчают использование результата.
Константы и переменные окружения
Константы и переменные окружения по соглашению пишутся заглавными с подчёркиваниями: MAX_RETRIES, DATABASE_URL. Чтобы их получить, сначала конвертируйте текст в snake_case, а затем поднимите результат с помощью конвертировать текст в верхний регистр.
Имена файлов
Нижний регистр с подчёркиваниями — безопасное имя файла в любой системе, и оно предсказуемо сортируется и ищется. Многие фотографы, исследователи и администраторы используют его именно поэтому.
Где это не соглашение
JavaScript и Java
Эти языки предпочитают camelCase для переменных и функций и PascalCase для классов. Имя из скрипта на Python может потребовать преобразования, прежде чем появиться в файле JavaScript. Для этого смотрите camelCase.
CSS и веб-адреса
Имена классов CSS и веб-адреса обычно используют дефисы, а не подчёркивания. Инструмент для этого — kebab-case. Поисковые системы считают дефис разделителем слов, а подчёркивание — соединителем, и эта небольшая разница стоит за привычкой адресов с дефисами.
Проза и заголовки
snake_case — для имён, а не для чтения. Заголовок или предложение в нём тяжело читать. Для человеческого текста сохраняйте слова и пробелы, а для заголовка рассмотрите Title Case.
Как конвертировать текст в snake_case здесь
Вставьте или наберите текст
Введите фразу в первое поле. Результат сразу появляется во втором, так что вы можете смотреть, как он меняется по мере ввода.
Проверьте разрезы
Посмотрите, где слова были разделены. Слово вроде iPhone или eBay режется по заглавной, а аббревиатуре вроде HTTPServer нужен взгляд, чтобы убедиться, что она получилась так, как вы хотели.
Скопируйте
Нажмите кнопку копирования и вставьте результат туда, где он нужен. Для других форм той же строки смотрите ниже.
Использование snake_case во всём проекте
Одно соглашение для всего стека
Проект, смешивающий стили именования, читать труднее, чем слегка некрасивый, но последовательный. Если база данных использует snake_case, код, который с ней говорит, часто тоже, а файлы, перемещающиеся между ними, следуют. Когда вы конвертируете текст в snake_case для нового столбца или нового поля, вы выбираете имя, с которым придётся жить каждому другому слою, поэтому выберите его один раз и проведите через всё.
Перенос имён между соглашениями
Рано или поздно имя из одного соглашения должно появиться в другом. Столбец базы данных customer_first_name становится customerFirstName в объекте JavaScript и customer-first-name в классе CSS или адресе. Вместо того чтобы набирать каждое вручную, вставьте оригинал в страницу, дающую нужную форму: camelCase для кода из семейств C и JavaScript и kebab-case для стилей и адресов. Три формы одного имени — точные переводы друг друга, а конвертер делает их согласованно.
Файлы конфигурации
Файлы настроек часто используют ключи snake_case, особенно в YAML, который применяют многие инструменты. Когда вы готовите такой файл из данных, хранимых как JSON, JSON в YAML сохраняет ключи так, как вы их записали, а YAML в JSON делает обратное. Остановитесь на snake_case для ключей до начала, и конвертация между форматами их не потревожит.
Массовое переименование
Если вы унаследовали файл данных, заголовки которого смешивают стили, конвертируйте каждый заголовок на этой странице и замените их за один проход. Сначала проверьте на небольшой выборке, поскольку скрипт, читающий файл по заголовкам, сломается, если имя изменится лишь в некоторых местах. Ведите рядом с файлом список старых и новых имён, чтобы коллега мог увидеть, что изменилось.
Написание имён, которые живут долго
Говорите, что это за вещь, а не как она хранится
Хорошее имя описывает содержимое. order_total говорит, что означает число; col7 — нет. Когда вы конвертируете текст в snake_case, убедитесь, что фраза, с которой вы начинаете, — самая ясная из возможных, потому что конвертер верно сохранит её ясность или путаницу.
Избегайте сокращений, понятных только вам
Имя вроде cust_fn_dt — загадка для любого другого, а для вас через шесть месяцев тоже. Подчёркивания дёшевы, как и дополнительные слова. Более длинное имя, читающееся как предложение, — лучший подарок следующему человеку, чем короткое, которому нужна легенда.
Сохраняйте единство единственного и множественного числа
Решите, называются ли таблицы в единственном числе, customer, или во множественном, customers, и придерживайтесь этого. Соглашение важно меньше, чем его единообразие. Фраза, превращённая в snake_case, сохраняет то число, которое вы ей дали.
Ставьте приставку, когда это помогает
В большой схеме короткая приставка группирует связанные имена: billing_address, billing_city, billing_country. Ввод фразы с приставкой и её конвертация даёт согласованные результаты, а алфавитный список затем группируется сам.
Проверяйте имена, прежде чем к ним привязаться
Прежде чем имя попадёт в схему или API, попробуйте его в местах, где оно появится: в запросе, переменной, списке файлов. Если во всех трёх оно читается естественно, оно послужит. Если ощущается неловко, сократите или переформулируйте фразу и снова конвертируйте текст в snake_case. Минута проверки в начале избавляет от переименования в сотнях файлов позже.
Та же строка во всех семи написаниях
Таблица форм
Под конвертером таблица показывает пример строки во всех семи формах, которые предлагает сайт: верхний регистр, нижний регистр, Title Case, snake_case, kebab-case, camelCase и URL slug. Это быстрый способ увидеть, как выглядят те же слова в каждой.
Откуда берутся эти формы
Два алфавита
Заглавные и строчные буквы когда-то были двумя разными алфавитами. Заглавные — римские, высеченные в камне резцом; строчные происходят от каролингского минускула, сформированного пером, быстро движущимся по пергаменту. Печатники держали их в отдельных кассах, верхней и нижней, и названия закрепились надолго после того, как касс не стало.
Имена без пробелов
Программистские формы гораздо моложе и были придуманы для решения одной проблемы: имя не может содержать пробел. snake_case вышел из раннего C, camelCase — из Smalltalk, kebab-case — из Lisp, а URL slug — из необходимости поместить человеческий заголовок в адрес, где пробелы и акценты не допускаются. Подчёркивание было удобным символом на клавиатурах того времени и выглядит как пробел, сидящий на строке.
Ловушки при конвертации текста в snake_case
Имя, начинающееся с цифры
Большинство языков и баз данных отвергают имя, начинающееся с числа. Добавьте впереди букву или слово, если фраза начинается с него.
Ожидание, что зарезервированные слова будут обработаны
Фраза вроде class или order может быть зарезервированным словом в вашем языке или в SQL. Страница этого не знает, и вам нужно проверить.
Аббревиатуры
Аббревиатура внутри имени в camelCase, такая как parseHTMLString, может быть разрезана на parse_h_t_m_l_string или parse_html_string в зависимости от правила. Проверьте, что результат таков, как вы хотите.
Очень длинные имена
Базы данных и файловые системы накладывают ограничения на длину. Длинная фраза, превращённая в имя, может на него наткнуться. Сократите формулировку перед конвертацией.
Вопросы, которые задают перед конвертацией
Что происходит с пунктуацией?
Она считается границей между словами и не переносится.
Сохраняются ли числа?
Да, как отдельные слова, разделённые подчёркиваниями.
Справляется ли страница с вводом в camelCase?
Да. Заглавная внутри слова отмечает разрез, поэтому fooBar становится foo_bar.
Можно ли использовать её для других языков?
Да, по правилам языка страницы. Письменности без пробелов, такие как китайский и японский, возвращаются одним словом.
Загружается ли мой текст?
Нет. То, что вы набираете здесь, никогда никуда не отправляется, поэтому черновик, пароль или имя клиента так же безопасны здесь, как в текстовом редакторе.
Как получить вместо этого дефисы?
С помощью конвертировать текст в kebab-case.
Разобранный пример
Допустим, вы строите небольшую базу данных для библиотеки, и сотрудники прислали вам заголовки столбцов из своей таблицы: Book Title, Author's Last Name, Year Published (YYYY), ISBN-13. Вы конвертируете каждый по очереди и читаете book_title, author_s_last_name, year_published_yyyy и isbn_13. Апостроф превратил столбец автора в нечто неаккуратное, поэтому вы сокращаете оригинал до Author Last Name и конвертируете снова: author_last_name. Столбец года яснее без пометки о формате, поэтому вы оставляете year_published. Четыре аккуратных имени столбцов, написанных за минуту, и каждое — имя, которое примет база данных.
Короткий контрольный список
Перед конвертацией
Запишите фразу простыми словами, без заметок в скобках. Проверьте, что цель принимает подчёркивания и акценты.
Во время конвертации
Вставьте фразу, посмотрите на разрезы и убедитесь, что имя начинается с буквы.
После конвертации
Проверьте длину, проверьте по зарезервированным словам и сохраните запись исходной фразы, чтобы имя можно было проследить до его смысла.
Частые ошибки
Использование snake_case для текста, который будут читать люди
Он для имён, а не для прозы.
Забывание о том, что допускает цель
Цифры в начале, акценты и ограничения длины различаются между системами.
Конвертация аббревиатур без проверки
Проверьте разрезы вокруг них.
Ваш текст остаётся на вашем устройстве
Преобразование происходит локально. Ваш текст обрабатывает ваш собственный браузер, и ничего никуда не отправляется. Потом нечего удалять, и не нужно создавать учётную запись. Вот простой способ конвертировать текст в snake_case.
Итог
Чтобы конвертировать текст в snake_case здесь, вставьте строку и прочитайте её обратно с разрезанными словами, переведёнными в нижний регистр и соединёнными подчёркиваниями. Строка, уже записанная в camelCase, режется и там, поэтому fooBar становится foo_bar. Страница не сохраняет пунктуацию: запятые, точки и тире — границы между словами, а не символы для переноса, что нужно для имени файла или столбца базы данных и не нужно для прозы. Для разрезания на слова нужны границы, поэтому китайский и японский, пишущиеся без пробелов, возвращаются одним словом. Перевод в нижний регистр следует языку страницы. Ничего не загружается.