Python3.9如何提取字符串中特定标识之间的文本内容
Python字符串指定内容提取实现方案
方法1:字符串切片实现(完全匹配你的思路)
完全按照你提出的「提取ID:后到空格前、Name:后到末尾」的逻辑实现,无需依赖第三方库:
# 原始输入字符串 raw_text = "Kahoot : ID:1234567 Name:RandomUSERNAME" # 提取ID内容 id_prefix_pos = raw_text.find("ID:") id_start = id_prefix_pos + len("ID:") id_end = raw_text.find(" ", id_start) user_id = raw_text[id_start:id_end] # 提取Name内容 name_prefix_pos = raw_text.find("Name:") name_start = name_prefix_pos + len("Name:") user_name = raw_text[name_start:] # 测试输出 print(user_id) # 1234567 print(user_name) # RandomUSERNAME
方法2:正则表达式实现(适配性更强)
如果后续字符串格式有小幅度变动(比如ID和Name之间空格数量不固定、前后有其他冗余内容),可以用正则匹配,鲁棒性更高:
import re raw_text = "Kahoot : ID:1234567 Name:RandomUSERNAME" match_result = re.search(r"ID:(\d+)\s+Name:(\S+)", raw_text) if match_result: user_id = match_result.group(1) user_name = match_result.group(2) # 测试输出 print(user_id) # 1234567 print(user_name) # RandomUSERNAME
选型建议
- 字符串格式固定无变动的场景下优先选方法1,执行效率更高
- 格式存在波动的场景下选方法2,无需调整逻辑即可适配多数小变动
内容的提问来源于stack exchange,提问作者ȶɦɛֆɦɨռʏɛռɖ
相关产品推荐
相关产品推荐

