大量文本操作没用正则LRC歌词编辑器

易语言 2020-09-01 10:34:15

大量文本操作没用正则LRC歌词编辑器

.子程序 读取歌词文本, 整数型, , 返回歌词行数
.参数 LRC歌词文本, 文本型
.参数 LRC歌词信息, 歌词信息, 数组, 用来储存歌词信息
.局部变量 歌词组, 文本型, , "0"
.局部变量 时间, 文本型, , "0"
.局部变量 计次, 整数型
.局部变量 计次_, 整数型
.局部变量 临时, 文本型
.局部变量 信息, 歌词信息
.局部变量 临时信息, 歌词信息, , "0"
.局部变量 随机, 字节型
.局部变量 临时数组, 整数型, , "0"

清除数组 (歌词信息_)
随机 = 取随机数 (1, 100)
临时 = 子文本替换 (LRC歌词文本, “[ti:” + 文本_取出中间文本 (LRC歌词文本, “[ti:”, “]”, , 真) + “]”, 字符 (随机), , , 真)
临时 = 子文本替换 (临时, “[ar:” + 文本_取出中间文本 (临时, “[ar:”, “]”, , 真) + “]”, 字符 (随机), , , 真)
临时 = 子文本替换 (临时, “[al:” + 文本_取出中间文本 (临时, “[al:”, “]”, , 真) + “]”, 字符 (随机), , , 真)
临时 = 子文本替换 (临时, “[by:” + 文本_取出中间文本 (临时, “[by:”, “]”, , 真) + “]”, 字符 (随机), , , 真)
临时 = 子文本替换 (临时, “[offset:” + 文本_取出中间文本 (临时, “[offset:”, “]”, , 真) + “]”, 字符 (随机), , , 真)
临时 = 子文本替换 (临时, 字符 (随机) + #换行符, , , , 真)
歌词组 = 分割文本 (临时, #换行符, )
.计次循环首 (取数组成员数 (歌词组), 计次)
文本_取中间_批量 (歌词组 [计次], “[”, “]”, 时间, 真, , , , , )
.计次循环首 (取数组成员数 (时间), 计次_)
信息.歌词时间 = 转换为毫秒 (时间 [计次_])
信息.歌词文本 = 文本_取右边 (歌词组 [计次], “]”, 倒找文本 (歌词组 [计次], “]”, , 假) - 1, 真)
加入成员 (临时信息, 信息)
.计次循环尾 ()
.计次循环尾 ()
.计次循环首 (取数组成员数 (临时信息), 计次)
加入成员 (临时数组, 临时信息 [计次].歌词时间)
.计次循环尾 ()
数组排序 (临时数组, 真)
.计次循环首 (取数组成员数 (临时数组), 计次_)
.计次循环首 (取数组成员数 (临时信息), 计次)
.如果真 (临时数组 [计次_] = 临时信息 [计次].歌词时间)
信息.歌词时间 = 临时信息 [计次].歌词时间
信息.歌词文本 = 临时信息 [计次].歌词文本
加入成员 (LRC歌词信息, 信息)
.如果真结束

.计次循环尾 ()
.计次循环尾 ()
返回 (取数组成员数 (LRC歌词信息))