Удаление точки (".") Из строки с помощью Python - PullRequest
1 голос
/ 27 сентября 2019

У меня есть данные, которые выглядят так:

  • www.r-computer.com
  • www.rscompass.com
  • www.italy.itи так.

Я написал скрипт, который выглядит следующим образом:

data['website']=data['Website address'].str.split('www.').str[1]
data['website']=data['website'].str.split('.com').str[0]

Это в основном сначала удаляет "www", а затем второй код был предназначен для удаления ".com "из строки.Результат, который я должен получить для 1-й и 2-й точек данных, должен быть:

  • r-computer
  • rscompass

Но вместо этого я получаю:"р".Так что я думаю, что Python не интерпретирует "."как точка, но любой символ перед "ком".

Я хотел бы знать, как удалить фразы, такие как ".ru", ".com", ".it" и т. Д. Пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 27 сентября 2019
import re


def get_domain(s):
    return re.sub("^www\.(.+)\.[^\.]+$", "\\1", s)

print(get_domain("www.r-computer.com"))   # r-computer


(не проверено) Возвращает sitename и .com .org и т. Д. Возвращает None, если не найдено совпадений

import re


def get_domain(s):
    ret = re.findall("^www\.(.+)\.([^\.]+)$", s)
    return ret[0] if ret else (None, None)


# example
a, b = get_domain("www.italy.it")

if a and b:
    print(a)  # italy
    print(b)  # it
0 голосов
/ 27 сентября 2019

Для приведенных примеров это будет работать:

data['website']=data['website'].split('.')[1]

Для этого нужно получить текст между первым и вторым '.'

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