第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

刪除字符串中超過 1 個句點 - Python

刪除字符串中超過 1 個句點 - Python

一只斗牛犬 2023-05-09 10:19:21
我有一個簡單的字符串。在這個字符串中,我可以有任何數(shù)字。有時這個數(shù)字有 1 個以上的句點。我的目標是刪除超過 1 個句點,所以如果我以 a 為例,它應(yīng)該看起來像這樣 = 20.00011。我怎樣才能做到這一點?import rea = "20.00.0.11"a_replaced = re.sub(r'\.+', ".", a)print(a_replaced)
查看完整描述

3 回答

?
慕村225694

TA貢獻1880條經(jīng)驗 獲得超4個贊

嘗試這個 -


a = "20.00.0.11"


t = a.split('.')  #breaks the item into token

t[0]+'.'+''.join(t[1:]) #join them back with a single .

'20.00011'

如果萬一你有所有的可能性,你可能有多個 .'s 或一個或沒有 .'s 那么你可以使用以下功能 -


a = "20.00.0.11"

b = "20.000"

c = "20000"


def fix_dots(a):

    t = a.split('.')

    if len(t)>1:

        return t[0]+'.'+''.join(t[1:])

    else:

        return t[0]

print(fix_dots(a))

#Output - '20.00011'


print(fix_dots(b))

#Output - '20.000'


print(fix_dots(c))

#Output - '20000'

解決此問題的列表理解方法是使用查找第一個點的位置,然后使用 OR 條件保留該點并忽略其他點。


a = "20.00.0.11"


def fix_dot2(a):

    return ''.join([i[1] for i in enumerate(a) if i[0]==a.find('.') or i[1]!='.'])


print(fix_dot2(a))

'20.00011'


查看完整回答
反對 回復(fù) 2023-05-09
?
LEATH

TA貢獻1936條經(jīng)驗 獲得超7個贊

"".join("20.00.0.11".replace(".","!",1).split(".")).replace("!",".")

或者:


string = "20.00.0.11"

dot = string.find(".")

"".join([x for (i, x) in enumerate(string) if (x != ".") | (i==dot)])


查看完整回答
反對 回復(fù) 2023-05-09
?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

另一種解決方案是按“.”拆分,并確保在列表的第二個索引處恰好添加一個。


a = "20.00.0.11"

lst = a.split('.')

lst.insert(1, '.')

a_replaced = ''.join(lst)


print(a_replaced)

>>> "20.00011"

使用此版本將為您提供更壓縮的一行代碼:


a = "20.00.0.11"

a_replaced = ''.join(a.split('.').insert(1, '.'))

此解決方案假定輸入的第一個期間是您要保留的期間。


此外,如果輸入中沒有句點,則會在字符串末尾添加一個句點。如果你不想要這個,你需要添加一個 if check。


查看完整回答
反對 回復(fù) 2023-05-09
  • 3 回答
  • 0 關(guān)注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號