我正在使用 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"
作为数组的第一个和第二个元素?
问问题
83 次
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 回答