检查数组是否在numpy中包含特定的字符串

时间:2019-06-26 01:12:06

标签: python numpy

我试图将大学的网址存储在数组中,请检查元素的末尾是否包含“ .ec”。如果是这样,则删除“ www”。和“ .edu”

到目前为止,这是我的尝试:

import numpy as np


def localuniversities():
    sites = input("Enter sites separated by a comma and space: ").lower().split(", ")
    arraysites = np.asarray(sites)
    print(arraysites)
    matching = [s for s in arraysites if ".ec" in s]
    arraysites1 = [url.rstrip(".edu.ec") for url in matching]
    arraysites2 = [url.strip("www.").upper() for url in arraysites1]
    unique = np.unique(arraysites2, axis=0)
    print(unique)


print(localuniversities())

编辑:已设法修复验证。

我仍然遇到的问题是,如果我输入一个站点并且单词以“ d”(例如“ www.harvard.edu”)结尾,它也会去除“ d”。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

  

第一个是,如果我进入一个站点,说“ www.harvard.edu”,它将去除D的内容,因此它显示为“ HARVAR”。

之所以发生这种情况,是因为strtoi函数从字符串的末尾获取要剥离的字符集合,如果存在,则不能剥离整个单词。 (字符串是字符的集合)。 rstrip函数也是如此。这就是删除strip的原因。

  

第二,据我所知,它没有得到验证。

正如@Jeff_h所说,这是因为您只定义了D变量一次,这将导致for循环访问checkstrip所有站点,或者不访问。 >

解决所有问题后,这就是我得到的

rstrip

希望对您有帮助