如何提取字符串中value:后第二组引号内的内容?
用正则提取
value:后引号里的时间值 核心正则表达式
直接用这个就能精准匹配你要的内容:
value: "([^"]+)"
简单说下逻辑:
value: ":精准定位到目标内容的前缀([^"]+):把引号里的所有内容抓出来([^"]表示不匹配引号,+保证抓完引号里的所有字符)":匹配结尾的引号,确保只抓引号内的部分
实际使用示例(Python)
把你的数据丢进代码里跑,直接输出想要的格式:
import re # 你的原始数据 raw_lines = [ 'Added "Clock.Text", value: "45:45" id: 21', 'Added "Clock.Text", value: "90:00" id: 25', 'Added "Clock.Text", value: "5:58" id: 29', 'Added "Clock.Text", value: "11:13" id: 32', 'Added "Clock.Text", value: "3:04" id: 40' ] # 打印表头 print(f"{'Text':<40} {'Time'}") # 逐行处理 for line in raw_lines: # 用正则匹配 result = re.search(r'value: "([^"]+)"', line) if result: # 取出捕获到的时间 time_str = result.group(1) # 按格式输出 print(f"{line:<40} {time_str}")
运行后输出就是你要的效果:
Text Time Added "Clock.Text", value: "45:45" id: 21 45:45 Added "Clock.Text", value: "90:00" id: 25 90:00 Added "Clock.Text", value: "5:58" id: 29 5:58 Added "Clock.Text", value: "11:13" id: 32 11:13 Added "Clock.Text", value: "3:04" id: 40 3:04
其他场景用法
要是用VS Code这类编辑器批量处理:
- 查找栏输入
value: "([^"]+)" - 替换栏输入
$1就能直接提取时间;要是想保留原文本加时间列,直接在替换里拼格式就行(比如$0 $1,$0代表整行原内容)
内容的提问来源于stack exchange,提问作者bodega18
相关产品推荐
相关产品推荐

