Go字符串删除首位空格、转大写、拼接、分割、包含

处理字符串是常见操作,这里用到了两个包:strings和text的cases。

去掉字符串首尾空格

package main_test

import (
	"fmt"
	"strings"
	"testing"

	"golang.org/x/text/cases"
	"golang.org/x/text/language"
)

// 去掉字符串首尾空格
func TestTrimSpace(t *testing.T) {
    
    
	str := "       abcdefg  "
	s := strings.TrimSpace(str)
	fmt.Println("处理之后的字符串:", s)
	// 处理之后的字符串: abcdefg
}

去掉字符串首尾的特殊字符

// 去掉字符串首尾的特殊字符
func TestTrim(t *testing.T) {
    
    
	str := "###abcde#fg##"
	s := strings.Trim(str, "#")
	fmt.Println(s)
	// abcde#fg
}

替换所有字符

// 替换所有字符
func TestReplaceAll(t *testing.T) {
    
    
	str := "###abcde#fg##"
	s := strings.ReplaceAll(str, "#", "$")
	fmt.Println(s)
	// $$$abcde$fg$$
}

所有字母转换为大写格式

// 所有字母转换为大写格式
func TestToUpper(t *testing.T) {
    
    
	fmt.Println(strings.ToUpper("Hello"))
	// HELLO
}

所有字母转换为小写格式

// 所有字母转换为小写格式
func TestToLower(t *testing.T) {
    
    
	fmt.Println(strings.ToLower("Hello"))
	// hello
}

所有字母转换为标题格式

// 所有字母转换为标题格式
func TestTitle(t *testing.T) {
    
    
	str := "hello world"
	// 转换器
	c := cases.Title(language.English)
	fmt.Println(c.String(str))
	// Hello World
}

字符串比较

// 字符串比较
func TestCompare(t *testing.T) {
    
    
	str1, str2 := "hello", "hello"
	fmt.Println(strings.Compare(str1, str2))
	// 0
}

第一个索引位置

// 第一个索引位置
func TestIndex(t *testing.T) {
    
    
	fmt.Println(strings.Index("Hello", "ll"))
	// 2
}

最后一个索引位置

// 最后一个索引位置
func TestLastIndex(t *testing.T) {
    
    
	fmt.Println(strings.LastIndex("Hello", "l"))
	// 3
}

字符串分割为字符串切片

// 字符串分割为字符串切片
func TestSplit(t *testing.T) {
    
    
	fmt.Println(strings.Split("a b c", " "))
	// [a b c]
}

空格分割字符串为字符串切片

// 空格分割字符串为字符串切片
func TestFields(t *testing.T) {
    
    
	fmt.Println(strings.Fields("a b c"))
	// [a b c]
}

拼接

// 拼接
func TestJoin(t *testing.T) {
    
    
	fmt.Println(strings.Join([]string{
    
    "a", "b", "c"}, ","))
	// a,b,c
}

包含

// 包含
func TestContains(t *testing.T) {
    
    
	fmt.Println(strings.Contains("abc", "a"))
	// true
}

统计

// 统计
func TestCount(t *testing.T) {
    
    
	fmt.Println(strings.Count("abaca", "a"))
	// 3
}

参考

https://pkg.go.dev/golang.org/x/text/cases
https://pkg.go.dev/strings

猜你喜欢

转载自blog.csdn.net/lilongsy/article/details/131311029