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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從字符串中拆分?jǐn)?shù)字并拆分聯(lián)合字符串

從字符串中拆分?jǐn)?shù)字并拆分聯(lián)合字符串

慕容708150 2023-05-16 09:53:30
我已經(jīng)閱讀了很多帖子并找到了部分解決方案,如果有人能完全幫助我,那就太好了,因?yàn)槲艺也坏浇鉀Q方案。我有一個(gè)句子需要分解成輸出格式。那應(yīng)該怎么做呢?s='Eiffel Tower140,005 reviewsObservation Decks & Towers, Points of Interest & Landmarks'現(xiàn)在我想要這樣的輸出分為 3 個(gè)部分:地名、評(píng)論、詳情:輸出:["Eiffel Tower" , "140,005 reviews" ,  "Observation Decks & Towers, Points of Interest & Landmarks"]
查看完整描述

4 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊

您可以使用捕獲組來(lái)re.split保留分隔符(此處的評(píng)論數(shù)):

re.split(r'(\d{1,3}(?:,\d{3})* reviews?)', s)


查看完整回答
反對(duì) 回復(fù) 2023-05-16
?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

re.split只需根據(jù)小寫(xiě)字母后跟數(shù)字或大寫(xiě)字母之間的邊界拆分使用


>>> import re

>>> re.split(r'(?<=[a-z])(?=\d|[A-Z])', s)

['Eiffel Tower', '140,005 reviews', 'Observation Decks & Towers, Points of Interest & Landmarks']



查看完整回答
反對(duì) 回復(fù) 2023-05-16
?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

(.+?)([\d\,]+ reviews)(.*) 這將按以下方式分組。

  • 第 1 組:匹配直到達(dá)到數(shù)字后跟“評(píng)論”

  • 第 2 組:將數(shù)字(包括逗號(hào))和“評(píng)論”匹配到一個(gè)字符串中

  • 第 3 組:所有剩余的字符和符號(hào)。

Eiffel Tower140,005 reviewsObservation Decks & Towers, Points of Interest & Landmarks

輸出:

['Eiffel Tower', '140,005 reviews', 'Observation Decks & Towers, Points of Interest & Landmarks']

https://regex101.com/r/bDAVNb/2


查看完整回答
反對(duì) 回復(fù) 2023-05-16
?
翻翻過(guò)去那場(chǎng)雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

該解決方案僅適用于該特定句子和遵循相同規(guī)則的其他句子。通過(guò)在循環(huán)中添加更多條件,它可以擴(kuò)展到其他句子結(jié)構(gòu)。對(duì)于初學(xué)者來(lái)說(shuō),它比正則表達(dá)式更容易閱讀。索引有點(diǎn)麻煩,但這是對(duì)您的快速修復(fù)。


我注意到拆分發(fā)生在字母和數(shù)字、小寫(xiě)字母和大寫(xiě)字母之間。所以你只需要遍歷句子并定義規(guī)則。


s='Eiffel Tower140,005 reviewsObservation Decks & Towers, Points of Interest & Landmarks'


result = []

temp = ''


for i in range(0, len(s)-1):

    current_letter = s[i]

    next_letter = s[i+1]


    if current_letter.islower() and next_letter.isnumeric():

        temp += current_letter

        result.append(temp)

        temp = ''

    elif current_letter.islower() and next_letter.isupper():

        temp += current_letter

        result.append(temp)

        temp = ''

    else:

        temp += current_letter

temp+= s[len(s)-1]

result.append(temp)


print(result)


查看完整回答
反對(duì) 回復(fù) 2023-05-16
  • 4 回答
  • 0 關(guān)注
  • 203 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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