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

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/ExMan/p/12665917.html

时间: 2024-10-02 22:44:56

golang中字符串的查找方法小结的相关文章

java中字符串切割的方法总结

StringTokenizer最快 ,基本已经不用了,除非在某些需要效率的场合.Scanner最慢. String和Pattern速度差不多.Pattern稍快些. String和Pattern的split 方法效率相当,常用 public   static   void  main(String [] args){ long  start = System.currentTimeMillis(); for ( int  i= 0 ;i< 100000 ;i++){ test1(); } lon

SQL Server:存储过程中编写事务处理的方法小结

/**8. SQLServer存储过程中编写事务处理的方法小结**/ 原文出处: http://www.jb51.net/article/80636.htm 本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码. 1. 常见写法: 在编写SQL Server 事务相关的存储过程代码时,经常看到下面这样的写法: begin tran update statement 1 ... update statement 2 ... delete statement 3 ... c

Java中字符串中子串的查找方法

Java中字符串中子串的查找共有四种方法: int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引. int lastIndexOf(String str, int startIndex) :从指定的

ES6中字符串的新增方法梳理

1.String.fromCodePoint(); String,fromCodePoint()方法可以认为是对String.fromCharCode()方法的扩展,这两个方法的共同点在于都是用于Unicode码点返回对应字符,但是差异在于String.fromCharCode()该方法不能识别大于0xFFFF的码点,ES6中提供了String.fromCodePoint()就很好的弥补了String.fromCharCode()的不足.它可以识别码点大于0xFFFF的对应字符. 上面是在chr

学习笔记4:java中Thread类的方法小结

稍稍对Thread类中的常用方法简单地做了一次总结,加深点印象. 仍然还是采用继承Thread类的案例来实现创建线程的方式 , 附代码段: /*  * @auto: 牧羊的伯格女皇  * 2015-10-16  * Thread的常用方法稍微总结:  * 1. start() 启动线程并执行相应的run()方法  * 2. run()  子线程要执行的代码放入run()方法中  * 3. currentThread() 静态的, 调取当前的线程,即返回对当前正在执行的线程对象的引用.  * 4.

python中的字符串内置方法小结

#!/usr/local/bin/python3 # -*- coding:utf-8 -*- name="my wife is mahongyan" #----------首字母大写---------- #print(name.capitalize()) #----------字符统计---------- #print(name.count('m')) #----------字符美观打印---------- #print(name.center(50,'-')) #一共打印50个字符

python中字符串内置方法整理

下表是在通过网络视频学习时,别人整理的.放在此处,以便以后需要. capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串 count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选. encode(encoding='utf-8', errors='strict') 以 encod

Java 中 hashCode 和 equals 方法 小结

转载:http://www.oschina.net/question/82993_75533 hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的java类都继承这两个方法. hashcode主要是set集合使用,是用于判断对象是否”可能“相等的快捷办法,以解决大集合的问题.举例来说,如果一个一万个元素的集合加入一个元素,如果是一个新元素,那么必须要equal一万次才能加入.所以采用hashcode,hashcode的思路是如果equal,则ha

JavaScript中字符串转Json方法小记

例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var obj= { "name": "cxh", "sex": "man" }; 1.在js中把json字符串转json对象的方法不止一种,最常见的一种方式如下,使用到eval方法: 1 var jsonStr = '