golang 字符串查找总结
1)func Contains(s, substr string) bool这个函数是查找某个字符是否在这个字符串中存在,存在返回true
示例如下:
import ("fmt""strings"
)func main() {fmt.Println(strings.Contains("widuu", "wi")) //truefmt.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'))) //truefmt.Println(strings.ContainsRune("widuu", 20)) //fasle
}
4)func Count(s, sep string) int这个的作用就是输出,在一段字符串中有多少匹配到的字符
示例如下:
import ("fmt""strings"
)func main() {fmt.Println(strings.Count("widuu", "uu")) //1fmt.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")) //1fmt.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
}
golang 字符串查找总结相关推荐
- Golang字符串中常用的函数
Golang字符串中常用的函数 说明: 字符串在我们程序开发中,使用的是非常多的,常用的函数需要同学们掌握: 下面列出20种常用的字符串函数: 1)统计字符串的长度,按字节len(str) 2)字符串 ...
- cmd html 查找汉子字,字符串查找 cmd find命令
字符串查找 cmd find命令 2009-07-05 14:33:02 作者: 当我要查找字符串的时候,第一个想到的命令,并不是我在本文中要讲解的find,而是比它更强悍的命令findstr. 我对 ...
- python3 字符串查找 效率比较
Python中字符串查找方式有多种,常见的有re.match/search or str.find 用一个例子来说明各种方式的效率如下: from timeit import timeit impor ...
- python字符串find函数-python字符串查找函数的用法详解
python字符串查找函数的使用 打开Python开发工具IDLE,新建"findstr.py'文件,并写代码如下: s ='/ab/bx,.s' print (s.find('/x')) ...
- 【字符串】字符串查找 ( Rabin-Karp 算法 )
文章目录 一.字符串查找 二.Rabin-Karp 算法 一.字符串查找 算法题目链接 : https://www.lintcode.com/problem/13/ 在 一个字符串 中查找 另外一个字 ...
- 【字符串】字符串查找 ( 蛮力算法 )
文章目录 一.字符串查找 二.蛮力算法代码示例 一.字符串查找 算法题目链接 : https://www.lintcode.com/problem/13/ 在 一个字符串 中查找 另外一个字符串 第一 ...
- 查找字符位置_学习VB编程第69天 字符串查找与替换
今天学习了VB提升教程4期,学习的主要内容是字符串查找与替换.零基础学VB课程已经结束,但是感觉还是没有太大进步,而且目前也没有确定后续该学什么语言,干脆就继续再学一段时间VB吧反正计划的三个月时间还 ...
- KMP 算法并非字符串查找的优化 [转]
算法书和数据结构书对 KMP算法多有介绍,称只需对字符串扫描一遍不需回溯云云 .然而 ,它恐怕只应该作为一种思想存在 ;用于实际的字符串查找并不理想 .要费劲心血实现和优化它 ,才能在特定的字符串上略 ...
- 1.14 字符串查找(3种方法)indexOf(), lastlndexOf(), charAt()
在给定的字符串中查找字符或字符串是比较常见的操作.字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符. 根据字符查找 String 类的 in ...
最新文章
- select子句顺序
- (二)Javascript面向对象编程:构造函数的继承
- JSON序列化(stringify)对象时排除某些属性的两种方法
- 【教程】Linux 系统下对目录扩容的方法
- windows桌面待办事项_想在手机桌面上安装一个便利贴,下载什么便签软件好?
- smarty去除html标签,Smarty与脚本中的html标签爆裂
- matlab simulink_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号
- JAVA入门级教学之(classpath的配置)
- PyOpenGL之3D界面详解(一)
- Java 复习笔记 异常Exception
- Linux-Windows-Mac-Redis安装教程
- C++基础知识:C++语言中的表达式求值
- Fiddler如何捕捉DefaultHttpClient的HTTP请求
- 的正确使用_如何正确使用隔离霜
- 虚拟机桥接模式下配置静态IP
- 申论高效解题的步骤——按部就班
- QrCode类生成二维码海报
- Linux(CS-Notes)
- 实现阿拉伯数字转中文大写
- 炉石胖枫抽到什么刀片服务器准系统整机主板,中速猎天下第一!老将胖枫喜提炉石传说青岛黄金赛大师组冠军...
热门文章
- C 语言编程 — 堆栈与内存管理
- 用 Flask 来写个轻博客 (24) — 使用 Flask-Login 来保护应用安全
- springcloud使用pagehelper 实现分页,及total 数据问题
- JavaScript学习总结(7)——JavaScript基础知识汇总
- LeetCode-334. Increasing Triplet Subsequence
- MIMO系统ML检测(最大似然检测)
- 802.11(wi-fi)的PHY层(编码与调制方法)
- iOS应用:成功就像中彩票,大半开发者亏本
- Swift 4.2正式发布
- Java自带的常用工具