簡體   English   中英

如何在給定字符之后刪除字符串中的字符?

[英]How to remove characters in a string AFTER a given character?

我有一個元組列表,我想從中刪除 url 擴展。 這是它的樣子

['google.com', 'google.ru', 'google.ca']

基本上,我想刪除每個“ 之后的所有內容,以便我返回類似這樣的內容

['google', 'google', 'google']

我的說明特別告訴我使用split() function,但我也對此感到困惑。 如果也有可能,我需要刪除重復項,所以我的最終結果是:

['google']

感謝您的幫助,如果我的規格很奇怪,請見諒。

這個def刪除了 url 擴展:

def removeurlextensions(L):
    L2 = []
    for x in range(len(L)):
        L2.append(L[x].split('.')[0])
    return L2

要打印您的列表:

L = ['google.com', 'google.ru', 'google.ca']
print(removeurlextensions(L))
#prints ['google', 'google', 'google']

要刪除重復項,您可以使用list(set())

L = ['google.com', 'google.ru', 'google.ca']
print(list(set(removeurlextensions(L))))
#prints ['google']

這僅在所有項目都是字符串時才有效:

for i in range(len(my_list)):
    my_list[i] = my_list[I].split('.')[0]
already_in_list = []
for item in my_list:
    if item in already_in_list:
        my_list.pop(item)
    else:
        already_in_list.append(item)
print(my_list)

我確實從 memory 做到了這一點,所以如果有錯誤請告訴我。

您可以簡單地使用split

ls = ['google.com', 'google.ru', 'google.ca']
print([i.split('.', 1)[0] for i in ls])
# result = ['google', 'google', 'google']

要刪除重復項,您可能需要使用set

mod = [i.split('.', 1)[0] for i in ls]
print(list(set(mod)))
# result = ['google']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM