go语言-字符串的方法

 

strings和strconv包, 字符串作为一种基本的数据解构,每种语言都有一些对于字符串的预定义处理函数,go语言中使用strings包来完成对字符串的操作

  1. 前缀与后缀
  • HasPrefix判断字符串s是否以prefix开头 strings.HasPrefix(s, prefix string) bool
  • HasSuffix 判断字符串s是否以suffix结束 strings.HasSuffix(s, suffix string) bool
 package main
   import (
        "fmt"
        "strings"
    )
  func main() {
    var str  string = "this is an example"
    fmt.Println(strings.HasPrefix(str, "this")) // true
    fmt.Println(strings.HasSuffix(str, "example")) // true
    fmt.Println(strings.HasSuffix(str, "exam")) // false
  }

  

  • Contains: 判断字符串s是否包含str strings.Contains(s, str string) bool
  1. 判断字符串在当前字符串出现的位置
  • Index: 返回字符串str在字串s中的索引, 返回-1,表示字符串s不含含字符串str strings.Index(s, str string) int
  • LastIndex: 返回字符串str在字符串s中出现位置的索引, 返回-1表示s中不包含str
  • IndexRune: 返回单个字符在字符串s中的位置,建议尽量使用IndeRune对字符进行定位 strings.IndexRune(s string, r rune) int
 package main
 import (
 	"fmt"
 	"strings"
 )
 func main()  {
    var str string = "hello, i am kiven"
    fmt.Println(strings.Index(str, "am"))  // 返回首次出现am的位置
    fmt.Println(strings.LastIndex(str, "i")) // 自右向左查询首次出现i的位置
    fmt.Println(strings.IndexRune(str, 'i')) // 查询单个字符i出现的位置
 } 

  

  1. 字符串的替换
  Replace 用于字符串str中字符串old替换为new的,并返回新的字符串, 如果n=-1则替换所有字符串old为字符串new
  strings.Replace(str, old, new, n) string
  1. 统计字符串出现的次数

Count 用于计算字符串str在字符串s出现的的次数 string.Count(s, str string) int

 package main
  import (
   	"fmt"
     "strings"
   )
  func main() {	 
     var str string = "hello, i am kiven"
     var mangG = "gggggggggg"
     fmt.Println(strings.Replace(str, "kiven", "anan", 1))
     fmt.Println(strings.Count(mangG, "gg"))
  }

  

  1. 重复字符串
  • Repeat用于重读count字符串s并返回新的字符串 strings.Repeat(s, count int ) string
  1. 修改字符串大小写
  • ToLower: 将字符串中的字符全部转换为相应的小写字符 strings.LoLower(s) string
  • ToUpper: 将字符串中字符全部转换为相应的大写字符 strings.ToUpper(s) string
  • package main
     import (
         "fmt"
         "strings"
     )
     func main()  {
      var orig string = "hello, i am kiven"
      var lower string
      var upper string
      lower = strings.ToLower(orig)
       upper = strings.ToUpper(orig)
      fmt.Println(lower)
      fmt.Println(upper) 
     }
 
  
  • 修剪字符串
  • strings.TrimSpace(s): 去除字符串s两端的空白字符
  • strings.Trim(s, "cut"): 去除开头和结尾的cut字符串
  1. 分割字符串
  • strings.Fields(s): 分割字符串, 返回你对应的slice
  • strings.Split(s, sep): 用指定的字符来对字符串进行分割,返回一个slice
  • strings.Join(s1 []string, sep string)string:用于将 元素类型为string的slice使用分隔符拼接为一个字符串
  1. 字符串与其他类型的转换

与字符串相关的类型转换都是通过strconv包来实现的 任何类型T转换为字符串都是成功的

  • 获取程序运行的操作系统所占的位数 strconv.IntSize
  • 数字类型转换为字符串类型
    • strconv.Itoa(i int) string 返回i对应的字符串的十进制数
    • strconv.FormatFloat(f float64) string: 将64位浮点型转换为字符串
  • 字符串转换为数字类型
    • strconv.Atoi(s string)(i int, err error): 将字符串转换为int类型
    • strconv.ParseFloat(s string)(f float64, err error): 将字符串类型转化为64 浮点型

转载于:https://www.cnblogs.com/kuishen/p/11066187.html

猜你喜欢

转载自blog.csdn.net/weixin_33975951/article/details/94477359
今日推荐