将字符串转换为数组
Converting a string to array
我正在使用 Go 编写一个 terratest,我有字符串 "[[IFN_EYE_HUBW_DEV_AUTO_01] [IFN_EW_HUBW_DEV_AUTO_02]]"
。我怎样才能将它拆分成一个数组以获得 "IFN_EYE_HUBW_DEV_AUTO_01"
和 "IFN_EW_HUBW_DEV_AUTO_02"
作为数组的第一个和第二个元素?
您可以简单地替换所有 [
和 ]
,然后将它们与 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])
}
理想情况下,您应该使用正则表达式进行模式匹配,但上面的方法可以很好地完成此任务。
注意:它将替换所有 [
和 ]
括号,因此如果字符串具有这些括号,那么也会被替换。
您可能有很多针对此类操作的解决方案,但我建议您使用正则表达式来解决您的问题:
str := "[[IFN_EYE_HUBW_DEV_AUTO_01] [IFN_EW_HUBW_DEV_AUTO_02]]"
re := regexp.MustCompile(`([A-Z0-9_]+)`)
arrayOfStrings := re.FindAllString(str, -1)
我正在使用 Go 编写一个 terratest,我有字符串 "[[IFN_EYE_HUBW_DEV_AUTO_01] [IFN_EW_HUBW_DEV_AUTO_02]]"
。我怎样才能将它拆分成一个数组以获得 "IFN_EYE_HUBW_DEV_AUTO_01"
和 "IFN_EW_HUBW_DEV_AUTO_02"
作为数组的第一个和第二个元素?
您可以简单地替换所有 [
和 ]
,然后将它们与 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])
}
理想情况下,您应该使用正则表达式进行模式匹配,但上面的方法可以很好地完成此任务。
注意:它将替换所有 [
和 ]
括号,因此如果字符串具有这些括号,那么也会被替换。
您可能有很多针对此类操作的解决方案,但我建议您使用正则表达式来解决您的问题:
str := "[[IFN_EYE_HUBW_DEV_AUTO_01] [IFN_EW_HUBW_DEV_AUTO_02]]"
re := regexp.MustCompile(`([A-Z0-9_]+)`)
arrayOfStrings := re.FindAllString(str, -1)