首页 > 其他分享 >标准库之strings

标准库之strings

时间:2024-03-14 16:12:41浏览次数:17  
标签:string lqz fmt strings 标准 func str1

目录

一、strings库介绍

  • 标准库strings用于处理utf-8编码的字符串,字符串的操作,通过该标准库

二、字符串比较-Compare

1. 介绍

func Compare(a,b string) int
  • 若 a==b ,则返回0;若 a <b ,则返回 -1;若 a>b ,则返回 1。
  • 字符串的比较方法是根据单个字符的ASCII编码。

2. 示例

package main
import (
	"fmt"
	"strings"
)
 
func main() {
	var str1 string = "hello"
	var str2 string = "world"
 
	fmt.Println(strings.Compare(str1,str2)) // -1
	fmt.Println(strings.Compare(str2,str1)) // 1
	fmt.Println(strings.Compare(str1,str1)) // 0
}

三、检测字符串是否包含子串-Contains

1. 介绍

func Contains(s,substr string) bool

2. 示例

package main
import (
	"fmt"
	"strings"
)
 
func main() {
	fmt.Println(strings.Contains("lqz is nb","lqz")) // true
	fmt.Println(strings.Contains("lqz is nb","pyy")) // false
}

四、大小写转换

1. 介绍

func ToUpper(substr string) string
func ToLower(substr string) string
func ToTitle(substr string) string //将字符修改为其Title格式,大部分字符的Title格式就是Upper格式,只有少数字符的Title格式是特殊字符

2. 示例

package main
 
import (
	"fmt"
	"strings"
)
 
func main() {
	var str1 string = "hello,lqz"
	fmt.Println(strings.ToUpper(str1)) // HELLO, GOLANG
	fmt.Println(strings.ToLower(str1)) // hello, golang
	fmt.Println(strings.ToTitle(str1)) // HELLO, GOLANG
}

五、统计子字符串出现的次数

1. 介绍

func Count(str,substr string) int

2. 示例

package main
 
import (
	"fmt"
	"strings"
)
 
func main() {
	var str1 string = "lqz is Nb, lqz is big,lqz is handsome"
	var str2 string = "lqz"
	fmt.Println(strings.Count(str1,str2))  //3 
}

六、判断字符串的前后缀

1. 介绍

func HasPrefix(str,substr string) bool
func HasSuffix(str,substr string) bool

2. 示例

package main

import (
	"fmt"
	"strings"
)

func main() {
	var str1 string = "lqz is handsome"
	var str2 string = "l"
	var str3 string = "lqz"
	var str4 string = "lqzi"
	fmt.Println(strings.HasPrefix(str1, str2)) // true
	fmt.Println(strings.HasPrefix(str1, str3)) // ture
	fmt.Println(strings.HasSuffix(str1, str4)) // false

}

七、分割和连接

1. 介绍

func Split(str,separator string) []string
func Join(strs []string) string

2. 示例

package main

import (
	"fmt"
	"strings"
)

func main() {
	var str1 string = "lqz is Nb,lqz is handsome"
	fmt.Println(strings.Split(str1, ",")) // [lqz is Nb      lqz is handsome]
	for _,v := range strings.Split(str1, ",") {
		fmt.Println(v)
	}
	fmt.Println(strings.Join([]string{"lqz","is","NB"}, " ")) // lqz is NB
}

八、索引

1. 介绍

  • 这个操作能获取指定字符首次出现的位置,通常用来判断子字符串在对应字符串中的位置。
func Index(str,substr string) int

2. 示例

package main

import (
	"fmt"
	"strings"
)

func main() {
	var str1 string = "lqz is Nb"
	fmt.Println(strings.Index(str1, "Nb")) // 7
}

九、清洗

1. 介绍

  • 清洗操作可以将字符串两端的一些字符删掉,常用来删除字符串两端的空格。
func Trim(s, cutset string) string
func TrimLeft(s, cutset string) string
func TrimRight(s, cutset string) string
func TrimPrefix(s, prefix string) string
func TrimSuffix(s, suffix string) string
func TrimSpace(str string) string

2. 示例

package main

import (
	"fmt"
	"strings"
)

func main() {
	var str1 string = "   lqz is Nb  "
	var str2 string = "***lqz is Nb***"
	fmt.Println(strings.Trim(str1, " ")) // lqz is Nb
	fmt.Println(strings.Trim(str2, "*")) //lqz is Nb
	// 专门用来清除两端空格的函数
	fmt.Println(strings.TrimSpace(str1)) // lqz is Nb
	fmt.Println(strings.TrimRight(str1," ")) //    lqz is Nb
}

十、替换

1. 介绍

  • 清洗操作只能完成首尾的空格或者指定字符的替换,要完成更为复杂的操作则要调用NewReplacer()函数。
func Replace(s, old, new string, n int) string {}
func NewReplacer(oldnew ...string) *Replacer 

2. 示例

package main

import (
	"fmt"
	"strings"
)

func main() {
	var str1 string = "www.cnblogs.com/liuqingzheng/p/15996060.html"
	newReplacer1 := strings.NewReplacer("/",":")
	fmt.Println(newReplacer1.Replace(str1)) //www.cnblogs.com:liuqingzheng:p:15996060.html

}

标签:string,lqz,fmt,strings,标准,func,str1
From: https://www.cnblogs.com/Mcoming/p/18073091

相关文章

  • 标准库之rand
    目录一、rand库介绍二、math/rand1.基本使用2.常用的方法3.生成定长的随机数三、crypto/rand一、rand库介绍在Go中,有两个包提供了rand,分别为math/rand和crypto/rand,对应两种应用场景math/rand包实现了伪随机数生成器。也就是生成整型和浮点型crypto/rand包实......
  • 标准库之path和filepath
    目录一、Path包1.常用函数2.示例二、filepath1.常用函数2.示例一、Path包实现的功能和python的os模块的os.path的方法类似注意:该包只对/路径有效,windows的\路径无效1.常用函数path包实现了对用斜杠进行分隔的路径进行操作的函数funcIsAbs(pathstring)bool//......
  • 标准库之context(很重要)
    目录标准库之context一、为什么需要context1.基本并发的示例2.全局变量方式的并发3.通道方式的并发4.官方版的方案二、Context初识1.Context接口2.两个顶级Context(1)Background()和TODO()(2)区别3.派生Context(With系列函数)(1)WithCancel(可取消context)i.context控制goroutin......
  • 第四章 python的标准库
    第四章python的标准库一、`os`1.1基本功能1.2文件和目录操作1.2.1目录操作1.2.2文件操作1.3路径操作1.4环境变量1.4.1`os.environ`1.4.2`os.pathsep`1.4.3`os.name`1.4.4`os.system()`1.4.5`os.putenv(key,value)`和`os.unsetenv(key)`1.5进程管理1.5......
  • Rust 标准库 Trait 指南
    部分内容来自Rust2021年期刊内容目录引言Trait基础自动Trait泛型Trait格式化Trait操作符Trait转换Trait错误处理迭代器TraitI/OTrait总结引言你是否曾想过下面这些trait有什么不同?Deref<Traget=T>,AsRef<T>,以及Borrow<T>?Clone,Copy,和ToOwned?From......
  • 单据类型参数设置增加自定义参数并通过BOS标准函数调用
     1、BOS函数说明2、创建对应单据的【单据类型参数】,继承自【单据类型参数模版】。 3、在单据参数中绑定【单据类型参数对象】 4、参数设置设置对应参数 5、在BOS中调用标准函数进行使用。 ......
  • STM32标准库低功耗
    STM32标准库低功耗1.睡眠模式1.1.进入以及退出方法睡眠模式较为简单,仅需要简单调用函数即可,且函数定义处于内核层,不需要引用多余的头文件。睡眠模式:仅内核停止,所有外设仍旧运行。调用"__WFI()"函数,退出方式为任意中断。调用"__WFE()"函数,退出方式为唤醒事件。2.停......
  • AT_abc343_g [ABC343G] Compress Strings 题解
    题目传送门前置知识前缀函数与KMP算法|状压DP解法由于\(\sum\limits_{i=1}^{n}|S_{i}|\)极大且不需要记录路径,所以luoguP2322[HNOI2006]最短母串问题的枚举所有可能的字符串\(T\)进行判断不可做。设\(f_{i,j}\)表示当“字符串包含状态”对应的二进制数为\(......
  • 关于征集参与《智慧能源服务评价技术要求》团体标准起草单位的通知
    根据2023年团体标准管理制修订计划安排,为使标准更具专业性、实用性和可操作性,吸纳行业内有代表性的骨干企业和专家作为起草单位和起草人,现就我单位牵头申报的《智慧能源服务评价技术要求》团体标准公开征集起草单位和起草人。一、申请标准起草单位的机构必须具备以下条......
  • STM32标准库通用定时器输出比较
    STM32标准库通用定时器输出比较1.初始化voidTIM2_Init(){ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//使能TIM2时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA时钟 GPIO_InitTypeDefGPIO_InitSt......