go语言字符串处理

package main

import (
	"fmt"
	"regexp"
	"strconv"
	"strings"
)

func main(){
	//1.查看字符串中是否包含某个子串,类似于Python中的__contains__,或者 in
	fmt.Println(strings.Contains("古明地觉", "古明"))//true
	fmt.Println(strings.Contains("古明地觉", "古明地觉"))//true
	fmt.Println(strings.Contains("古明地觉", "古明地盆"))//false

	//2.将多个字符串按照一定规则组合在一块,类似于Python中的join
	s := []string{"古明地盆","东方地灵殿"}
	fmt.Println(strings.Join(s, "来自"))//古明地盆来自东方地灵殿

	//3.查找字符串中某个子串的位索引,查不到为-1,类似于Python中的find
	fmt.Println(strings.Index("satori","ri"))//4
	fmt.Println(strings.Index("satori","shi"))//-1

	//4.将一个字符串重复n次,类似Python中的*
	fmt.Println(strings.Repeat("satori", 3)) //satorisatorisatori

	//5.将一个字符串按照指定字符进行切割,类似于Python中的split
	s1:="satori|koishi|古明地盆|古明地恋"
	fmt.Println(strings.Split(s1, "|"))//[satori koishi 古明地盆 古明地恋]

	//6.去掉字符串两头,类似于Python中的strip
	fmt.Println(strings.Trim("aababbb古明地盆古明地恋bababaa", "ab"))//古明地盆古明地恋

	//7.去掉所有的空格,将元素放在一个切片中
	fmt.Println(strings.Fields("    are      古明地盆    ok"))//[are 古明地盆 ok]

	//8.计算指定字符出现的次数
	fmt.Println(strings.Count("古明地盆古明地恋", "古"))//2

	//9.判断字符串是否以指定字符开头
	fmt.Println(strings.HasPrefix("satori", "sa"))//true

	//10.判断字符串是否以指定字符结尾
	fmt.Println(strings.HasSuffix("satori","ri"))//true

	//----------------------------

	//1.转化为字符串后追加到字节数组
	slice := make([]byte, 0, 1024)
	slice = strconv.AppendBool(slice, true)
	//第三个参数表示以多少进制追加
	slice = strconv.AppendInt(slice, 1024, 10)
	slice = strconv.AppendQuote(slice, "satori")
	slice = strconv.AppendQuote(slice, "古明地盆")
	//转化为字符串打印
	fmt.Println(string(slice)) //true1024"satori""古明地盆"

	//2.字符串转整型
	//具有两个返回值,另一个是错误信息
	fmt.Println(strconv.Atoi("6666")) //6666 <nil>

	//3.整型转字符串
	fmt.Println(strconv.Itoa(2333)) //2333
	fmt.Printf("%q\n", strconv.Itoa(2333))//"2333"


	//正则表达式,熟悉Python的话,这个自不必说,只介绍不同的地方
	//Python表示原生字符串需要在""前面加上r,go中使用``表示即可
	//步骤分为两步
	//1.使用MustCompile解析并返回一个正则表达式
	reg := regexp.MustCompile(`\d{4}`)
	//2.调用需要的函数查找
	result1 := reg.FindAllString("123-1234-12345",-1)
	result2 := reg.FindAllStringSubmatch("123-1234-12345",-1)
	fmt.Println(result1)//[1234 1234]
	fmt.Println(result2)//[[1234] [1234]]
}

  

猜你喜欢

转载自www.cnblogs.com/traditional/p/9615304.html