Rust 代码解析:提取 JSON 数据中的 completion 值
以下 Rust 代码演示了如何从字符串中提取 JSON 数据的 completion 值,并进行字符串处理,去除换行符和转义字符:
let completions: Vec<&str> = res
// 去掉换行符
.replace('\n', '')
// 分割字符串切片向量,每个元素都包含了completion值的json对象字符串
.split('{'type':'success','completion':'')
.skip(1)
// 提取completion值
.map(|s| s.split(''}').next().expect('map error on loop.'))
// 去掉转义字符
.map(|s| s.replace('\\'', '''))
.collect();
代码解析:
replace('\n', ''): 使用replace方法将字符串中的所有换行符\n替换为空字符串,从而去除换行符。.split('{'type':'success','completion':''): 使用split方法将字符串按照'{'type':'success','completion': '分割成多个字符串切片。.skip(1): 跳过第一个字符串切片,因为第一个切片不包含 completion 值。.map(|s| s.split(''}').next().expect('map error on loop.')): 使用map方法对每个字符串切片进行处理,使用split方法按照' }'分割字符串,获取第一个切片,即 completion 值。使用next方法获取第一个切片,如果获取失败,则抛出异常'map error on loop.'。.map(|s| s.replace('\\'', ''')): 使用map方法对每个字符串切片进行处理,使用replace方法将字符串中的所有转义字符\\'替换为',从而去除转义字符。.collect(): 使用collect方法将处理后的字符串切片收集到一个Vec<&str>中。
这段代码展示了如何使用 Rust 代码对字符串进行处理,提取 JSON 数据中的 completion 值,并去除换行符和转义字符,最终得到一个包含所有 completion 值的字符串切片向量。
原文地址: https://www.cveoy.top/t/topic/lBUf 著作权归作者所有。请勿转载和采集!