Go语言中strings和strconv包示例代码详解
前缀和后缀
HasPrefix判断字符串s是否以prefix开头:
strings.HaxPrefix(sstring,prefixstring)bool
示例:
packagemain import( "fmt" "strings" ) funcmain(){ pre:="Thi" str1:="ThisisaGoprogram!" fmt.Println(strings.HasPrefix(str1,pre)) }
HasSuffix判断字符串s是否以suffix结尾:
strings.HasSuffix(sstring,suffixstring)bool
示例:
packagemain import( "fmt" "strings" ) funcmain(){ suffix:="am!" str1:="ThisisaGoprogram!" fmt.Println(strings.HasSuffix(str1,suffix)) }
字符串包含关系
Contains判断字符串s是否包含substr:
strings.Contains(sstring,substrstring)bool
示例:
packagemain import( "fmt" "strings" ) funcmain(){ substr:="is" str1:="ThisisaGoprogram!" fmt.Println(strings.Contains(str1,substr)) }
判断子字符串或字符在父字符串中出现的位置(索引)
Index返回字符串substr在字符串s中的索引(substr的第一个字符的索引),-1表示字符串s不包含字符串substr:
strings.Index(sstring,sbustrstring)int
示例:
packagemain import( "fmt" "strings" ) funcmain(){ substr:="is" substr2:="Hi" str1:="ThisisaGoprogram!" fmt.Println(strings.Index(str1,substr))//输出2 fmt.Println(strings.Index(str1,substr2))//输出-1 }
LastIndex返回字符串substr在字符串s中最后出现位置的索引(substr的第一个字符的索引),-1表示
字符串s不包含字符串substr:
strings.LastIndex(sstring,substrstring)int
语法:
packagemain import( "fmt" "strings" ) funcmain(){ substr:="is" substr2:="Hi" str1:="ThisisaGoprogram!" fmt.Println(strings.LastIndex(str1,substr))//输出5 fmt.Println(strings.LastIndex(str1,substr2))//输出-1 }
如果r是非ASCII编码的字符,建议使用以下函数来对字符进行定位:
strings.IndexRune(sstring,rrune)int
示例
packagemain import( "fmt" "strings" ) funcmain(){ substr:='中' substr2:='天' str1:="我爱你中国" fmt.Println(strings.IndexRune(str1,substr))//输出9 fmt.Println(strings.IndexRune(str1,substr2))//输出-1 } packagemain import( "fmt" "strings" ) funcmain(){ substr:="中" substr2:="天" str1:="我爱你