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

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

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

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

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

4 回答

?
慕婉清6462132

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

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

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


查看完整回答
反對 回復 2023-05-16
?
楊魅力

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

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


>>> import re

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

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



查看完整回答
反對 回復 2023-05-16
?
米脂

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

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

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

  • 第 2 組:將數(shù)字(包括逗號)和“評論”匹配到一個字符串中

  • 第 3 組:所有剩余的字符和符號。

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


查看完整回答
反對 回復 2023-05-16
?
翻翻過去那場雪

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

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


我注意到拆分發(fā)生在字母和數(shù)字、小寫字母和大寫字母之間。所以你只需要遍歷句子并定義規(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)


查看完整回答
反對 回復 2023-05-16
  • 4 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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