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 浮點型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM