#javascript
#язык JavaScript
Вопрос:
Я пытаюсь создать небольшую утилиту на javascript, которая может исправлять ошибки пользовательского ввода. Пользователь должен ввести строку в следующем формате:
пример: объект 1:»ключ1 ключ2″ объект 2:»ключ3 ключ4″ объект 2:»ключ5″ объект 2:»ключ6 ключ7″ Я пытаюсь создать логику, которая найдет отсутствующие кавычки (открывающие или закрывающие) на клавишах, в случае, если пользователь забыл добавить его.
возможным случаем ошибки может быть: объект 1:»ключ1 объект 2:»ключ2″, который следует исправить, добавив «закрытие» к объекту key1.
Я начинающий программист, и я не ищу готового решения, но полезные предложения, как я могу подойти к этому. Большое вам спасибо!
Комментарии:
1. Чтобы проверить, сбалансированы ли ваши котировки, вы можете прочитать раздел «сбалансированные скобки». О том, как исправить их автоматически, должно быть какое-то правило, которое следует применять при
key
завершении, иначе автоматическое исправление ошибки кажется довольно сложным.2. Самым простым решением было бы поместить имена объектов и ключи в отдельные входные данные, тем самым снизив ответственность пользователей за правильную упаковку.
Ответ №1:
Если вас беспокоят только отсутствующие кавычки и то, что входная строка строго содержит только отсутствующие кавычки и соответствует вашему формату примера, один из подходов состоит в том, чтобы разделить входные данные в каждом символе двоеточия.
После этого вы можете просмотреть массив, начиная со второго элемента, и проверить, есть ли в начале каждой строки открывающие кавычки и являются ли символы перед именами объектов кавычками и пробелом. Если нет, добавьте открывающую/закрывающую кавычку.
После добавления необходимых кавычек вы можете просто соединить строку обратно.
Опять же, это если нет других возможных случаев/сценариев, которые необходимо проверить, в противном случае вам необходимо создать анализатор строк, который удовлетворяет всем возможным случаям.