Код Middle Локаторы обновлено

Безопасная строка для XPath

Условие

В XPath 1.0 нет экранирования кавычек внутри строки. Напишите xpath_literal(s), которая превращает строку в литерал XPath:

  • если в строке нет одинарной кавычки, вернуть её в одинарных: 'abc';
  • иначе если нет двойной, вернуть в двойных: "it's";
  • иначе разбить строку по ' и собрать concat(...): каждую часть в одинарных кавычках, между частями "'", через , . Пустые части тоже оставлять.

Пример: It's "ok" → concat('It', "'", 's "ok"').

Примеры

xpath_literal("abc") // "'abc'"
xpath_literal("it's") // "\"it's\""
xpath_literal("It's \"ok\"") // "concat('It', \"'\", 's \"ok\"')"

Как подойти

Подсказки: 2
  1. Сначала два простых случая, потом concat.
  2. Разделитель между частями это литерал "'".

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме