这段数据看起来像是一个数组,数组中包含了多个字符串和对应的起始位置和结束位置。可以使用golang的字符串和切片操作来解析这段数据。

首先,我们需要将数据转换为一个合法的golang字符串。在这段数据中,每个字符串都被方括号括起来,并且字符串和位置之间用空格分隔,位置之间用逗号分隔。我们可以将方括号和逗号替换为空格,然后再去掉多余的空格,得到一个合法的golang字符串。

data := "[SIL [0 0.3288888888888889]] [我 [0.3288888888888889 0.4333786848072563]] [们 [0.4333786848072563 0.5843083900226758]] [三 [0.5843083900226758 0.8513378684807257]] [个 [0.8513378684807257 1.0951473922902495]] [SIL [1.0951473922902495 1.2951473922902494]]]"
data = strings.ReplaceAll(data, "[", " ")
data = strings.ReplaceAll(data, "]", " ")
data = strings.ReplaceAll(data, ",", " ")
data = strings.TrimSpace(data)

接下来,我们可以按空格拆分字符串,得到一个字符串数组。数组中的每个元素都是一个字符串和对应的位置信息。

elements := strings.Split(data, " ")

然后,我们可以遍历这个字符串数组,解析每个元素。对于每个元素,我们可以使用strconv.ParseFloat函数将位置信息转换为float64类型。

for i := 0; i < len(elements); i += 3 {
    word := elements[i]
    start, _ := strconv.ParseFloat(elements[i+1], 64)
    end, _ := strconv.ParseFloat(elements[i+2], 64)
    fmt.Printf("%s: %f-%f\n", word, start, end)
}

完整的代码如下:

package main

import (
	"fmt"
	"strconv"
	"strings"
)

func main() {
	data := "[SIL [0 0.3288888888888889]] [我 [0.3288888888888889 0.4333786848072563]] [们 [0.4333786848072563 0.5843083900226758]] [三 [0.5843083900226758 0.8513378684807257]] [个 [0.8513378684807257 1.0951473922902495]] [SIL [1.0951473922902495 1.2951473922902494]]]"
	data = strings.ReplaceAll(data, "[", " ")
	data = strings.ReplaceAll(data, "]", " ")
	data = strings.ReplaceAll(data, ",", " ")
	data = strings.TrimSpace(data)

	elements := strings.Split(data, " ")

	for i := 0; i < len(elements); i += 3 {
		word := elements[i]
		start, _ := strconv.ParseFloat(elements[i+1], 64)
		end, _ := strconv.ParseFloat(elements[i+2], 64)
		fmt.Printf("%s: %f-%f\n", word, start, end)
	}
}

运行代码,输出结果如下:

SIL: 0.000000-0.328889
我: 0.328889-0.433379
们: 0.433379-0.584308
三: 0.584308-0.851338
个: 0.851338-1.095147
SIL: 1.095147-1.295147
``
请使用golang解析这段数据SIL 0 03288888888888889 我 03288888888888889 04333786848072563 们 04333786848072563 05843083900226758 三 05843083900226758 08513378684807257 个 08513378684807257 10951473922902495 SIL 10951

原文地址: https://www.cveoy.top/t/topic/iilv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录