javascript - 使用正则表达式将带制表符的文本转换为有效的 JSON
问题描述
我尝试转换从音频软件(大胆)导出的这个纯文本
0.147652 0.983684 noing_grf
2.316547 3.609503 boing_4r4
{
'noing_grf': { start: 0.147652, end: 0.983684 },
'boing_4r4': { start: 2.316547, end: 3.609503 },
}
我尝试的模式是这个([^\t\n]+)
但我认为我需要一个完整的例子来执行。
任何正则表达式专业人士都可以帮助我做到这一点,我一点也不成功!我的目标是从音频数据轨道导出标签和区域,而不是在 js 中加载并转换为 json 格式来管理spriteAudio像这个 API。 http://pixijs.io/pixi-sound/examples/sprites.html
解决方案
您是否必须使用正则表达式来执行此操作?您可以在 javascript(或任何其他编程语言)中非常简单地做到这一点。
const data = `0.147652 0.983684 noing_grf
2.316547 3.609503 boing_4r4`;
const dictionary = {};
const lines = data.split("\n");
lines.forEach(line => {
line = line.split("\t");
dictionary[line[2]] = { start: line[0], end: line[1] };
});
生成的字典将具有您想要的格式:
{
noing_grf: { start: '0.147652', end: '0.983684' },
boing_4r4: { start: '2.316547', end: '3.609503' }
}
推荐阅读
- python - 如何在 Python OpenCV 或 skimage 中实现 MATLAB 的 edge() 函数
- c# - 使用实体框架从数据库中选择数据的通用函数
- scala - 对于理解 scala
- xamarin.forms - 在 Xamarin.Forms 中具有水平方向的分组 CollectionView?
- c# - 问题是事件仅添加了具有客户端 ID 和客户端密钥的单个用户尊重
- postman - MS Graph API - 获取需要多因素身份验证的访问令牌
- python - 用户登录 django 时用户身份验证失败
- pointers - 如何创建自引用结构?
- api - 使用 API 跟踪 edX 或 Udemy 课程进度
- svg - 与 Blink 和 Gecko 相比,为什么 Webkit/Safari(iOS、macOS)以不同的顺序呈现我的 SVG 转换?