现在有一段类似这样的格式 String
[0:1.520,0:2.460,0] 喂,你好。
[0:4.300,0:7.920,0] xxxxxxxx
[0:8.750,0:10.440,0] xxxxxxxx
[0:10.690,0:16.460,0] xxxxxxxxxx 。
[]里面的 第一位是开始时间戳,第二位是结束时间戳,第三位是角色标识。 后面跟着的是文本内容
要转换成这种:
[
{"begin":1000,"end":2000,"role":"角色 1","words":" xxxx"},
{"begin":4000,"end":6000,"role":"角色 1","words":" xxxxx 。"},
{"begin":8000,"end":9000,"role":"角色 2","words":" xxxxxx 。"},
{"begin":12000,"end":13000,"role":"角色 2","words":" xxxxxx"},
]
目前我是非常低效的做法: 先根据换行符 spilit("\n");切割出每一行
比如一行: [0:1.520,0:2.460,0] 喂,你好
然后 splitResult[0] 就是 整个[0:1.520,0:2.460,0] 内容 ,splitResult[1]就是文本内容 再对 splitResult[0] 进行处理, subString 出 0:1.520,0:2.460,0 然后再用 split(",")切割出 时间戳 以及 角色标识。
有没什么其他高效方法,对字符串操作不太熟悉
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.