Удалить пробелы только в URL - PullRequest
0 голосов
/ 26 октября 2018

У меня есть файл с большим количеством текста.К сожалению, есть также некоторые URL с пробелами до или после точек.Пример: http://www .test27d .com/site1

Как заменить эти пробелы так, чтобы исправлялись только URL-адреса (а не другой текст, потому что иногда должен быть пробел до или после точки).

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Найти все строки, соответствующие критериям URL, начиная с http, а затем перевести, удалив пробелы

import re
a='http://www .test27d .com/site1'
for i in re.findall('(^http://[\w\s\.\/]*)',a):
    print(i.translate(None,' '))

Для тестирования

list_with_statements=['http://www .test27d .com/site1', 'string_with_no_spaces', 'string has spaces']
new_list=[]
for stat in list_with_statements:
    if re.search('(^http://[\w\s\.\/]*)',stat): # can also use str.startswith()
        stat=i.translate(None,' ')
    new_list.append(stat)

без регулярных выражений

list_with_statements=['http://www .test27d .com/site1', 'string_with_no_spaces', 'string has spaces .']
new_list=[]
for stat in list_with_statements:
    if stat.startswith('http'):
        stat=i.translate(None,' ')
    new_list.append(stat)
print(new_list)

Выходы

['http://www.test27d.com/site1', 'string_with_no_spaces', 'string has spaces']
0 голосов
/ 26 октября 2018

Попробуйте это:

newstring = string.replace(' ', '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...