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

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

在字符串中返回固定行(數字)?

在字符串中返回固定行(數字)?

守著一只汪 2022-09-27 16:36:29
在此數據中:[‘23 2312 dfr tr 133’, ‘2344 fdeed’, ‘der3212fr342 96’]我想要一個函數,它將返回一行中有一個證書數的數字的值。空格或其他文本無關緊要,只要一行中有一定的數字。(不多不少)例如:2 numbers in a row:[‘23’,’’,’96’]3 numbers in a row:[‘133’,’’,’342’]4 numbers in a row:[‘2312’,’2344’,’3212’]謝謝
查看完整描述

1 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

一種方法是使用 re.findall 從字符串中提取連續的數字,并保留那些長度為:n

l = ['23 2312 dfr tr 133',

     '2344 fdeed',

     'der3212fr342 96']


import re


def length_n_digits(l,n):

    return [s for i in l for s in 

            re.findall(rf'(?<!\d)\d{{{n}}}(?!\d)', i) or ['']]

請注意,雙大括號只是為了轉義內大括號,不會發生插值。 并要環顧四周,并確保僅當數字序列不被其他數字包圍時才匹配。'{{}}'(?<!\d)(?!\d)n


length_n_digits(l, 2)

# ['23', '', '96']


length_n_digits(l, 3)

# ['133', '', '342']


length_n_digits(l, 4)

# ['2312', '2344', '3212']




查看完整回答
反對 回復 2022-09-27
  • 1 回答
  • 0 關注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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