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

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

如何僅獲取字符串中任何特殊字符之前的字母數字字符?

如何僅獲取字符串中任何特殊字符之前的字母數字字符?

慕哥9229398 2022-12-27 10:04:07
例子:string1 = '71B46>TC>77'有沒有辦法在沒有 for 循環的情況下獲得以下內容:output = '71B46'我不能對“>”進行硬編碼,因為特殊字符會有所不同。謝謝你。
查看完整描述

4 回答

?
三國紛爭

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

text = "71B46>TC>77"

position = text.index('>')

result = text[0:position]

# 71B46

更新

import re


regex = r"[\W+]"

text = "71B46>TC>77"

position = re.search(regex, text).start()

print(text[0:position])

# 71B46


查看完整回答
反對 回復 2022-12-27
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

一線解決方案


import re

get_chars_before_spl_chars = lambda string1 :re.findall("[\dA-Za-z]*",string1)[0]

get_chars_before_spl_chars('71B46>TC>77')

#'71B46'


查看完整回答
反對 回復 2022-12-27
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

你應該試試這個。


import re

start_pos = re.search(r'\W+', string1).start()

print(string1[0:start_pos])


查看完整回答
反對 回復 2022-12-27
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

不使用正則表達式。過濾字母數字字符。


s = '71B46>TC>77'

modified = ''.join(filter(str.isalnum, s))

# or

modified = ''.join((c for c in s if c.isalnum()))


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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