как удалить ненужный символ из списка строк?

#python #python-3.x

#python #python-3.x

Вопрос:

Просто пытаюсь найти правильное решение для моего сценария. Допустим, у меня есть список из 2 элементов, как показано ниже:

 old_str = ['https://www[dot]exabeam[dot]com','https://www[dot]google[dot]com/#q=exa beam']
  

Я хочу выводить как ['www.exabeam.com', 'www.google.com']

Я вполне могу использовать приведенную ниже логику для замены ‘[точка]’ на ‘.’

 new_str= []
for new_char in old_str:
    replaced_str = new_char.replace('[dot]', '.')
    new_str.append(replaced_str)
print(new_str)
  

результат таков :

 [['https://www.exabeam.com'], ['https://www.google.com/#q=exa beam']]
  

Итак, как достичь ожидаемого результата? Пожалуйста, помогите

Спасибо

Комментарии:

1. это всегда ‘https: //’?

2. да, в любом случае, решение @ Chris работает как шарм. Спасибо

3. Вывод, который вы показываете, неверен, и код, который вы показываете, не имеет ничего общего с фактическим вопросом.

4. Привет, да, я знаю. Я имею в виду, что я должен провести свое расследование, прежде чем задавать вопрос. Итак, вот что я сделал, и я знаю, что моя программа неэффективна. Спасибо

Ответ №1:

Используйте urllib :

 from urllib.parse import urlparse

[urlparse(i.replace("[dot]", ".")).netloc for i in old_str]
  

Вывод:

 ['www.exabeam.com', 'www.google.com']