Рейтинг:1

Удаление определенных символов из строки на ansible

флаг lc

у меня есть следующее

- set_fact:
   test_result: " {{ htmlres.content | regex_search('http://website([0-9]+)', '\1') }}"

Используя отладку, это возвращает следующее " '[01]'"

Мне нужен был только номер, и я поэкспериментировал с заменять() функцию и смог снять [ ] добавив следующее:

- set_fact:
   test_result: " {{ htmlres.content | regex_search('http://website([0-9]+)', '\1')
| заменить('[','') | заменять(']','') }}"

Моя проблема сейчас в том, что вывод теперь " '01' и я не могу удалить ' или пробел.

Добавление | подрезать до конца почему-то пробелы не убирает, а добавление regex_search('\'','') также, кажется, не ускользает от характера и работы.

Я что-то пропустил?

Вот вывод отладки после первого удаления:

"сообщение": [
    "01",
    ...

Спасибо

Рейтинг:1
флаг in

Ты слишком сложно думаешь. регулярное_поиск() возвращает массив, и вам нужен первый элемент.

- set_fact:
    test_result: "{{ htmlres.content | regex_search('http://website([0-9]+)', '\1') | first }}"

Пробел в начале является результатом вашего назначения результат испытаний:

    test_result: " {{ htmlres.content ...
                  ^-- здесь

Просто удалите его.

Ress avatar
флаг lc
Ничего себе, я даже не заметил первый пробел. Также спасибо за уточнение, что он возвращает массив. Теперь все правильно! Спасибо!

Ответить или комментировать

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