亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

小寫特定案例的列表,而不是其他案例

小寫特定案例的列表,而不是其他案例

長風秋雁 2022-07-19 20:28:39
我目前有一個大小寫格式不正確的字符串列表(由字母、大小寫、數字和特殊字符組成)。我試圖實現的目標是對具有以下格式的列表元素的所有實例進行小寫:['ALLUPPERCASE', 'ALL_UPPER_WITH_UNDERSCORES', 'ALL-UPPER-EXCEPT (text here)']用外行的話來說,任何元素要么全部大寫,要么全部大寫,要么帶有下劃線“_”或連字符“-”(可以在同一元素中同時包含下劃線和連字符,或者除末尾之外的所有大寫都有一個空格,然后小寫但在括號中的短語。我希望列表中元素的所有其他情況都保持其大小寫格式...如果一個元素的格式是這樣的The_Text_Here,那么該元素將保持其格式。我認為可行的第一個解決方案是只查看 '(' 之前元素的大小寫,然后忽略 '(' 之后的任何內容。我不相信連字符或下劃線會影響文本被讀取為全大寫;但是,我無法確定它們是否存在。將以下代碼想象為要遵循的格式:L1 = ['THRESHOLD_BAND', 'THRESHOLD_BAND (copy)', 'TICKER', 'TICKER-TWO',      'Title C (copy)', 'Title C (copy) (copy)']for i in L1:    **add code**    output = **add code**print('\n'.join(output))**terminal**$threshold_band threshold_band (copy) ticker ticker-two Title C (copy) Title C (copy) (copy)
查看完整描述

3 回答

?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

使用與您想要小寫的模式匹配的正則表達式。


import re

def maybe_downcase(s):

    if re.match(r'^[A-Z_-]+(?:\s\(.*\))?$', s):

        return s.lower()

    else:

        return s


output = [maybe_downcase(x) for x in L1]

正則表達式匹配一系列大寫字母、下劃線和連字符,可選地后跟空格和括號中的任何內容。


查看完整回答
反對 回復 2022-07-19
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

您可以執行您在問題中提到的類似方法,但檢查字符串中出現的任何小寫字母,而不是匹配大寫字母(沒有導入):


[x if any(y.islower() for y in x.split('(')[0]) else x.lower() for x in L1]

輸出:


['threshold_band', 

 'threshold_band (copy)', 

 'ticker', 

 'ticker-two',

 'Title C (copy)', 

 'Title C (copy) (copy)']         


查看完整回答
反對 回復 2022-07-19
?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

這會給你正確的輸出嗎?


L1 = ['THRESHOLD_BAND', 'THRESHOLD_BAND (copy)', 'TICKER', 'TICKER-TWO',

      'Title C (copy)', 'Title C (copy) (copy)']


L2 = []

for strng in L1:

    s0, *s1 = strng.split('(', 1)

    s0 = s0.lower() if s0 == s0.upper() else s0

    L2.append('('.join((s0, *s1)))


print(*L2, sep='\n')

輸出:


threshold_band

threshold_band (copy)

ticker

ticker-two

Title C (copy)

Title C (copy) (copy)


查看完整回答
反對 回復 2022-07-19
  • 3 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號