Как добавить символ после строки

Я пытаюсь выполнить несколько шагов регулярного выражения и хочу добавить кавычку и запятую (",) в конце этих строк, не изменяя остальные символы в строке.

Как бы мне сохранить все в целости, но добавить ", после слов: device1, device2, device3?

Пример строк, с которыми я работаю:

object network device1  
host 192.168.1.11  
object network device2  
host 192.168.1.12  
object network device 3  
host 192.168.1.13  

После моего первого шага регулярного выражения я изменил свою первую строку, включив фигурную скобку и некоторое форматирование со словами «категория» и «имя», как показано ниже. Однако я не хочу менять слово device1, а хочу поставить цитату и запятую после слова device1

{  
"category": "network",  
"name": "device1  
host 192.168.1.11  
{  
"category": "network",  
"name": "device2  
host 192.168.1.11  
{  
"category": "network",  
"name": "device3  
host 192.168.1.13  

Я не могу понять, как включить ", с моим первым шагом в моей последовательности замены регулярных выражений?

Я использую как regexr.com, так и Notepad++.

Пожалуйста, покажите нам окончательный ожидаемый результат json и включите больше примеров данных, которые охватывают как можно больше всех случаев вашего входного текста.

Trung Duong 19.02.2023 06:38

Нет закрывающих фигурных скобок, это опечатка?

Toto 19.02.2023 10:44

Да, моя главная цель - добраться до места, где у меня есть закрывающие фигурные скобки. Я просто выполняю регулярное выражение, чтобы преобразовать его, и я показывал только свой первый шаг. У меня около 5000 "устройств" с разными именами. Вот пример того, с чего я начинаю: объект network device1 host 192.168.1.11 вот что я хочу получить: { "category": "network", "name": "device2", "cidr": "192.168.1.11" , "type": "cidr" }, поэтому я просто пытаюсь пройти через процесс изменения этих строк с помощью нескольких разных кодов регулярных выражений.

Michael Caton 19.02.2023 17:32
Руководство для начинающих по веб-разработке на React.js
Руководство для начинающих по веб-разработке на React.js
Веб-разработка - это захватывающая и постоянно меняющаяся область, которая постоянно развивается благодаря новым технологиям и тенденциям. Одним из...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие...
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц....
Как собрать/развернуть часть вашего приложения Angular
Как собрать/развернуть часть вашего приложения Angular
Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?
0
3
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это регулярное выражение "name": "(device\d+), но поскольку вы не упомянули какой-либо язык программирования, вы можете получить некоторую ошибку шаблона в зависимости от используемого вами языка, например "" в java потребуется escape-символ, поэтому, если вы используете java, используйте это регулярное выражение \"name\": \"(device\d+) Теперь вам нужно извлечь группу (device\d+) и поместить туда свой " например в java вы можете сделать это с помощью string.replaceAll

О, спасибо. мой первый пост. Я считаю, что хотел бы получить файл json, который я могу в конечном итоге загрузить в вызов API. Что, если описательное имя будет совершенно другим, а не просто: «устройство1, устройство2, устройство3», оно может быть любым, с разными словами разной длины? Есть ли способ поместить что-то вроде «имя»: «<что-то здесь, чтобы охватить любое количество символов перед новой строкой>, а затем добавить «, в конце?

Michael Caton 19.02.2023 05:37

\"имя\": \"(\w+\d+) попробуйте это регулярное выражение

Sumedh Deshpande 19.02.2023 08:19
Ответ принят как подходящий

Вы можете использовать это регулярное выражение для сопоставления каждой сущности во входных данных:

object\s+(\w+)\s+([^\r\n]+)[\r\n]+host\s+([\d.]+)

Это соответствует:

  • object\s+: слово «объект», за которым следует несколько пробелов.
  • (\w+) : некоторое количество словесных (буквенно-цифровых плюс _) символов, захваченных в группе 1
  • \s+ : количество пробелов
  • ([^\r\n]+) : некоторое количество символов, отличных от конца строки, захваченных в группе 2
  • [\r\n]+ : некоторое количество символов конца строки
  • host\s+: слово «хозяин», за которым следует несколько пробелов.
  • ([\d.]+) : некоторое количество символов цифр и точек, захваченных в группе 3

Затем его можно заменить на:

{\n "category": "$1",\n "name": "$2",\n "host": "$3"\n},

Чтобы дать вывод (для ваших выборочных данных):

{
 "category": "network",
 "name": "device1",
 "host": "192.168.1.11"
},
{
 "category": "network",
 "name": "device2",
 "host": "192.168.1.12"
},
{
 "category": "network",
 "name": "device 3",
 "host": "192.168.1.13"
},

Демонстрация регулярных выражений на regex101

Теперь вы можете просто добавить [ в начало файла и заменить последний , на ], чтобы создать действительный файл JSON.

Ник спасибо! Я почти уверен, что это именно то, что я искал. Спасибо всем, кто откликнулся на эту публикацию

Michael Caton 19.02.2023 17:40

@MichaelCaton приятно слышать. Я рад, что смог помочь.

Nick 20.02.2023 02:45

Другие вопросы по теме