Golang语言包-字符串处理strings和字符串类型转换strconv

[复制链接]
frankphper 发表于 2019-5-7 13:07:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 frankphper 于 2019-5-7 13:22 编辑

Golang语言字符串处理函数包strings,字符串类型转换包strconv。
  1. /**
  2. * Golang语言字符串处理函数包strings,字符串类型转换包strconv
  3. */
  4. package main

  5. import (
  6.     "fmt"
  7.     "strconv"
  8.     "strings"
  9. )

  10. func main() {
  11.     str := "This is an example of a string"
  12.     fmt.Printf("Ture/False? Does the string "%s" have prefix %s?", str, "Th")
  13.     // 判断字符串的前缀
  14.     fmt.Printf("%t\n", strings.HasPrefix(str, "Th"))
  15.     fmt.Printf("True/False? Does the string "%s" have suffix %s?", str, "ing")
  16.     // 判断字符串的后缀
  17.     fmt.Printf("%t\n", strings.HasSuffix(str, "ing"))
  18.     fmt.Printf("True/False? Does the string "%s" have %s?", str, "xa")
  19.     // 判断字符串是否包含某字符
  20.     fmt.Printf("%t\n", strings.Contains(str, "xa"))
  21.     // 判断指定字符在字符串第一次出现的位置
  22.     fmt.Printf("%d\n", strings.Index(str, "s"))
  23.     // 判断指定字符在字符串最后一次出现的位置
  24.     fmt.Printf("%d\n", strings.LastIndex(str, "s"))
  25.     // 将字符串中的前n个字符替换,并返回一个新字符串,如果n=-1则替换所有字符串中的字符
  26.     fmt.Printf("%s\n", strings.Replace(str, "is", "at", 1))
  27.     // 统计指定字符在字符串中出现的次数
  28.     fmt.Printf("%d\n", strings.Count(str, "s"))
  29.     // 将字符串重复n次,并返回新字符串
  30.     fmt.Printf("%s\n", strings.Repeat(str, 2))
  31.     // 将字符串全部转换为小写字符
  32.     fmt.Printf("%s\n", strings.ToLower(str))
  33.     // 将字符串全部转换为大写字符
  34.     fmt.Printf("%s\n", strings.ToUpper(str))
  35.     // 去除字符串开头和结尾的空格
  36.     str1 := " This is an example of a string "
  37.     fmt.Printf("%s\n", strings.TrimSpace(str1))
  38.     // 去除字符串开头和结尾的指定字符,只去除字符串开头或结尾的指定字符
  39.     str2 := "my name is frank, this pencil is my"
  40.     fmt.Printf("%s\n", strings.Trim(str2, "my"))
  41.     fmt.Printf("%s\n", strings.TrimLeft(str2, "my"))
  42.     fmt.Printf("%s\n", strings.TrimRight(str2, "my"))
  43.     // 分割字符串,转换为一个slice
  44.     // 利用1个或多个空白字符来作为分隔符,将字符串分割成若干小块,并返回一个slice
  45.     // 如果字符串只包含空白字符串,则返回一个长度为0的slice
  46.     sli := strings.Fields(str)
  47.     for _, value := range sli {
  48.         fmt.Println(value)
  49.     }
  50.     str3 := "2019-05-07"
  51.     sli2 := strings.Split(str3, "-")
  52.     for _, value := range sli2 {
  53.         fmt.Println(value)
  54.     }
  55.     // 拼接slice元素成为一个字符串
  56.     fmt.Printf("%s\n", strings.Join(sli2, "-"))
  57.     // 字符串类型转换
  58.     str4 := "123"
  59.     // 字符串类型转换为int
  60.     num, _ := strconv.Atoi(str4)
  61.     fmt.Printf("%d\n", num)
  62.     // int转换为字符串类型
  63.     newStr4 := strconv.Itoa(num)
  64.     fmt.Printf("%s\n", newStr4)
  65. }
复制代码
运行结果:
  1. Ture/False? Does the string "This is an example of a string" have prefix Th?true
  2. True/False? Does the string "This is an example of a string" have suffix ing?true
  3. True/False? Does the string "This is an example of a string" have xa?true
  4. 3
  5. 24
  6. That is an example of a string
  7. 3
  8. This is an example of a stringThis is an example of a string
  9. this is an example of a string
  10. THIS IS AN EXAMPLE OF A STRING
  11. This is an example of a string
  12. name is frank, this pencil is
  13. name is frank, this pencil is my
  14. my name is frank, this pencil is
  15. This
  16. is
  17. an
  18. example
  19. of
  20. a
  21. string
  22. 2019
  23. 05
  24. 07
  25. 2019-05-07
  26. 123
  27. 123
复制代码


*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则