Добрый вечер! Нужна помощь в детекции языков программирования в строке.
Gitoo Too
Ученик
(150),
на голосовании
1 год назад
Добрый вечер! Нужна помощь в детекции языков программирования в строке. Например строка - "Привет Иван! Как дела! Сотри что я написал print('hello world!')". При этом Markdown НЕ используется. И нужно детектить все или большинство языков, и заключать весь код внутри ```. Желательно решений этой задачи на JavaScript, но другие языки тоже приветсвуются) (Пишу на браузерном JS а не на Node). Пожалуйста помогите! ;)
Один из подходов - использовать ключевые слова или уникальные конструкции для каждого языка. Вот пример реализации на JavaScript, используя некоторые ключевые слова для определения языка:
```javascript function detectProgrammingLanguage(code) { if (code.includes("console.log") || code.includes("var") || code.includes("function")) { return "JavaScript"; } else if (code.includes("print") || code.includes("def") || code.includes("import")) { return "Python"; } else if (code.includes("System.out.println") || code.includes("void") || code.includes("main")) { return "Java"; } // добавьте другие ключевые слова и конструкции для других языков else { return "Неизвестный язык"; } }
const code = "Привет Иван! Как дела! Сотри что я написал print('hello world!')"; const language = detectProgrammingLanguage(code); const formattedCode = "```" + language + "\n" + code + "```"; console.log(formattedCode); ```
Это очень простой и частичный пример, но вы можете расширить его, добавив больше ключевых слов и конструкций для других языков.
Ну это не сработает, если в коде содержится "System.out.println", то условие code.includes("print") сработает раньше и некорректно определится, как пайтон.