这篇文章主要介绍了Go语言中字符串的查找方法小结,示例的main函数都是导入strings包然后使用其中的方法,需要的朋友可以参考下

1.func Contains(s, substr string) bool这个函数是查找某个字符是否在这个字符串中存在,存在返回true

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.Contains("widuu", "wi")) //true
 fmt.Println(strings.Contains("wi", "widuu")) //false
}

2.func ContainsAny(s, chars string) bool这个是查询字符串中是否包含多个字符

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.ContainsAny("widuu", "w&d")) //true
}

3.func ContainsRune(s string, r rune) bool,这里边当然是字符串中是否包含rune类型,其中rune类型是utf8.RUneCountString可以完整表示全部Unicode字符的类型

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.ContainsRune("widuu", rune('w'))) //true
 fmt.Println(strings.ContainsRune("widuu", 20))        //fasle
}

4.func Count(s, sep string) int这个的作用就是输出,在一段字符串中有多少匹配到的字符

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.Count("widuu", "uu")) //1
 fmt.Println(strings.Count("widuu", "u"))  //2
}

5.func Index(s, sep string) int 这个函数是查找字符串,然后返回当前的位置,输入的都是string类型,然后int的位置信息

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.Index("widuu", "i")) //1
 fmt.Println(strings.Index("widuu", "u")) //3
}

6.func IndexAny(s, chars string) int 这个函数是一样的查找,字符串第一次出现的位置,如果不存在就返回-1

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.IndexAny("widuu", "u")) //3
}

7.func IndexByte(s string, c byte) int,这个函数功能还是查找第一次粗线的位置,只不过这次C是byte类型的,查找到返回位置,找不到返回-1

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.IndexByte("hello xiaowei", 'x')) //6
}

8.func IndexRune(s string, r rune) int,还是查找位置,只不过这次是rune类型的

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.IndexRune("widuu", rune('w'))) //0
}

9.func IndexFunc(s string, f func(rune) bool) int这个函数大家一看就知道了,是通过类型的转换来用函数查找位置,我们来代码看下哈

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.IndexFunc("nihaoma", split)) //3
}

func split(r rune) bool {
 if r == 'a' {
  return true
 }
 return false
}

10.func LastIndex(s, sep string) int 看到这个大家可能也明白了查找的是最后出现的位置,正好跟index相反

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.LastIndex("widuu", "u")) // 4
}

11.func LastIndexAny(s, chars string) int这个跟indexAny正好相反,也是查找最后一个

复制代码代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.LastIndexAny("widuu", "u")) // 4
}

原文地址:https://www.cnblogs.com/williamjie/p/9227359.html

Go语言中字符串的查找方法小结相关推荐

  1. golang中字符串的查找方法小结

    1)func Contains(s, substr string) bool这个函数是查找某个字符是否在这个字符串中存在,存在返回true 示例如下: import ("fmt"& ...

  2. c语言字符串转成二进制,C语言中字符串如何转换为二进制、八进制、十进制、十六进制...

    在C语言某个程序当中需要把文本16进制转换成对应的16进制数,比如字符串"0x1a"转换成10进制的26,可以用以下函数来实现 相关函数: atof, atoi, atol, st ...

  3. c语言从文件查找字符串,C语言文件中字符串的查找与替换?

    C语言文件中字符串的查找与替换? #include #include #include #include int Count=0; int findNum(char *str) { int i=0,t ...

  4. 单片机c语言怎么定义字符串,单片机C语言中变量的定义方法解析

    1.C语言中变量的定义方法 -C语言中变量定义语法为: #pragma rambank0 :即以关键词#pragma开始,rambank0指明资料区块为第0块. unsigned char m_acc ...

  5. python语言中reverse_Python 反转字符串(reverse)的方法小结

    谁能跟小编解释下python的字符串反转的原理女人要明白凡事首先靠自己,不要妄想在任何一方面依赖别人. [::-1]实现翻转功能. Python 的切片功能实际上比很多程序员认为的更强大. a = m ...

  6. 单片机c语言字符,单片机C语言中变量的定义方法解析

    描述 1.C语言中变量的定义方法 -C语言中变量定义语法为: #pragma rambank0 :即以关键词#pragma开始,rambank0指明资料区块为第0块. unsigned char m_ ...

  7. C语言中字符串的处理方式(一)

    写多了 Java 代码,对 String 类 很是喜爱,可惜经典的 C 语言没有...最近在做程序过程中,发现对C语言字符串的处理很模糊,一会儿用数组,一会儿用指针,一会儿又引入 string.h.. ...

  8. C语言中字符串的处理方式

    http://www.cnblogs.com/robin-ty/archive/2010/09/03/1817294.html 交流纽带" --<C语言程序设计 现代方法> 写多 ...

  9. 用c语言编译对数函数,在C语言中使用对数函数的方法

    在C语言中使用对数函数的方法 C语言log()函数:返回以e为底的对数值头文件: #include log() 函数返回以 e 为底的对数值,其原型为: double log (double x); ...

最新文章

  1. win10安装java不见了,win10安装java以及java配置遇到的坑
  2. PC SERVER 序列号查询
  3. 如果你没有时间读书,至少要保留这个习惯
  4. 即时配送的ETA问题之亿级样本特征构造实践
  5. 云小课|大数据时代的隐私利器-GaussDB(DWS)数据脱敏
  6. Spring Boot : 资源加载器
  7. android自定义工具栏,Android工具栏中的自定义图标
  8. Android开发笔记(九十九)圆形转盘
  9. 过年回家送什么?这10个教小朋友编程玩具最有科技感
  10. 路人实拍Waymo无人车:行为诡异,谨慎到让人怀疑人生
  11. XML——XML的那些事
  12. 无人车运动参数校准流程
  13. python零基础教学plc_Python从基础到开发精修全面学习视频教程
  14. 分享CrystalDiskInfo8.2.4与CrystalDiskMark6.0.2个性版本下载
  15. 艺术与科技的跨界融合 Jya美学家电品牌发布
  16. 吴军博士系列书籍读后感(《数学之美》、《浪潮之巅》、《文明之光》、《智能时代》)
  17. android分享视频到微信,android 分享文本、图片、音乐、视频到微信朋友圈、好友、我的收藏...
  18. 往后余生-程序员版,哈哈哈
  19. NAT类型及工作原理
  20. ibm服务器做系统按f几,台式机华硕主板u盘启动按f几(启动u盘的快捷键介绍)...

热门文章

  1. python 获取文件后缀名的方法
  2. React ES6组件里绑定this的三种方式
  3. 超过200m文件发送_喜大普奔!微信官宣:最高支持200M高清视频、图片文件!
  4. 数据结构实验之二叉树三:统计叶子数
  5. 【自动驾驶】16.计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
  6. Python-OpenCV 处理视频(五): 运动方向判断
  7. 关于Git的几个使用技巧
  8. http request乱码的真相
  9. [Python]元组与列表的区别及内建用法
  10. 数据结构之堆Heap