猿问

从字符串中获取子字符串信息的最佳方法是什么

我实际上是在做一个函数来获取一些数据。数据包含我不需要的信息,所以我正在寻找一种最佳方式来找到它。我有的是这个

e := strings.Index(result, "Country") //Searching for the country info like Country: US

当我得到索引时,我会搜索我需要下一个单词之类的信息。这就是我要找的。任何想法以最佳方式解决此问题?


心有法竹
浏览 208回答 3
3回答

蝴蝶不菲

这是另一种查找字符串索引的方法。按该字符串拆分,然后length of the first index是该字符串第一次出现的索引。https://play.golang.org/p/x7QWyuC_1wK    result := "City:San Fran,State:CA,Country:US"    // split the string     s := strings.Split(result, "US")    // index of US     index := len(s[0])    fmt.Println(index)// Output    U 31

繁星coding

我不确定您的结果字符串是什么样的,但如果您可以将其转换为诸如“City:San Fran;State:CA;Country:US”之类的格式,则可以轻松将其转换为地图。例如:result := "City:San Fran,State:CA,Country:US"fields := strings.Split(result, ",")fieldsMap := map[string]string{}for _, field := range fields {    pair := strings.Split(field, ":")    fieldsMap[pair[0]] = pair[1]}现在你可以很容易地访问任何值: country := fieldsMap["Country"]如果你会给出“US”fmt.Println(country)

DIEA

您可以使用包中的FindStringIndexregexp。它保证在输入大小的线性时间内运行。FindStringIndex返回slice定义匹配字符串位置的两个元素中的一个,以便您可以轻松获取下一个单词。
随时随地看视频慕课网APP

相关分类

Go
我要回答