-4

我正在使用 Go 编写 terratest 并且我有 string "[[IFN_EYE_HUBW_DEV_AUTO_01] [IFN_EW_HUBW_DEV_AUTO_02]]"。如何将其拆分为数组以获取"IFN_EYE_HUBW_DEV_AUTO_01""IFN_EW_HUBW_DEV_AUTO_02"作为数组的第一个和第二个元素?

4

2 回答 2

-2

对于这种操作,您可能有很多解决方案,但我建议您使用正则表达式来解决您的问题,如下所示:

str := "[[IFN_EYE_HUBW_DEV_AUTO_01] [IFN_EW_HUBW_DEV_AUTO_02]]"
re := regexp.MustCompile(`([A-Z0-9_]+)`)
arrayOfStrings := re.FindAllString(str, -1)
于 2021-02-22T06:59:50.750 回答
-2

您可以简单地替换所有[]然后将它们拆分Fields为:

package main

import (
    "fmt"
    "strings"
)

func main() {
    inp := "[[IFN_EYE_HUBW_DEV_AUTO_01] [IFN_EW_HUBW_DEV_AUTO_02]]"
    inp = strings.ReplaceAll(inp, "[", "")
    inp = strings.ReplaceAll(inp, "]", "")
    out := strings.Fields(inp)
    fmt.Printf("%v, %v", out[0], out[1])
}

理想情况下,您应该使用正则表达式进行模式匹配,但上面的方法可以很好地完成这项任务。

去这里演示

注意:它将替换所有的[]括号,所以如果一个字符串有这些括号,那么也将被替换。

于 2021-02-22T06:49:09.590 回答