Go语言字符串操作

1.安装

go get -u github.com/timespacegroup/go-utils
import (
    "github.com/timespacegroup/go-utils"
)
使用,例:fieldNames := tsgutils.NewInterfaceBuilder()

2.使用

2.1 字符串拼接、int、int64、Float64
func TestNewString(t *testing.T) {
    str1 := NewString("b")
    str2 := NewString("a").Append(str1).AppendString("c").AppendInt(123).AppendInt64(123456789).AppendFloat64(5.4321)
    FmtPrintln(str2.ToString())  // abc1231234567895.4321E+00
}
2.2 清除再使用Clear,字符串长度计算 Len
func TestNewString(t *testing.T) {
    str1 := NewString("b")
    str2 := NewString("a").Append(str1).AppendString("c").AppendInt(123).AppendInt64(123456789).AppendFloat64(5.4321)
    str3 := str2.Clear()
    str3 = str3.AppendString("abc123")
    FmtPrintln(str3.ToString())  // abc123
    FmtPrintln(str3.Len()) // 6
}
2.3 字符串包含某个字符:StartsWith,EndsWith,Contains,ContainsIgnoreCase,LastIndex,Index
func TestStringInChar(t *testing.T) {
    str := NewString("I am an IT engineer.")
    FmtPrintln(str.StartsWith("I")) // true
    FmtPrintln(str.StartsWith("a")) // false
    FmtPrintln(str.EndsWith("r."))      // true
    FmtPrintln(str.EndsWith("ee"))      // false
    FmtPrintln(str.Contains("IT"))  // true
    FmtPrintln(str.Contains("it"))  // false
    FmtPrintln(str.ContainsIgnoreCase("IT"))    // true
    FmtPrintln(str.ContainsIgnoreCase("it")) // true
    FmtPrintln(str.Index("e"))      // 11
    FmtPrintln(str.LastIndex("e"))  // 17
}
2.4 字符串修改:Trim,Replace,Remove(指定id),RemoveLast,Substring,SubstringBegin,SubstringEnd,ToLower,ToUpper
func TestStringModify(t *testing.T)  {
    str := NewString("victory")
    FmtPrintln(str.ToString()) //victory
    FmtPrintln(NewString(" victory ").Trim().ToString())  //victory
    FmtPrintln(str.Replace("y", "x00").ToString())  //victorx00
    FmtPrintln(str.Remove(1).ToString())  //vctory
    FmtPrintln(str.RemoveLast().ToString())  //victor
    FmtPrintln(str.Substring(1,2).ToString())  //i
    FmtPrintln(str.SubstringBegin(2).ToString())  //ctory  此处开始的id
    FmtPrintln(str.SubstringEnd(2).ToString())  //vi  此处结束的id
    FmtPrintln(NewString("VICTORY").ToLower().ToString())  //victory
    FmtPrintln(str.ToUpper().ToString())  //VICTORY
    FmtPrintln(str.ToString()) //victory
}
2.5 字符串转换数字类型:ToInt,ToInt64,ToFloat
func TestStringNumber(t *testing.T)  {
    str1 := NewStringInt(123)
    FmtPrintln(str1.ToString()) //123
    str2 := NewStringInt64(12345678987654321)
    FmtPrintln(str2.ToString()) //12345678987654321
    str3 := NewStringFloat64(123.456)
    FmtPrintln(str3.ToString()) //1.23456E+02
    str4,err := NewString("456").ToInt()
    CheckAndPrintError("convert string to int err", err)
    FmtPrintln(str4) //456
    str5,err := NewString("45678987654321").ToInt64()
    CheckAndPrintError("convert string to int64 err", err)
    FmtPrintln(str5) //45678987654321
    str6,err := NewString("456.789").ToFloat()
    CheckAndPrintError("convert string to float err", err)
    FmtPrintln(str6) //456.789
}
2.6 其他操作
func TestStringOther(t *testing.T)  {
    str := NewString("victory")
    FmtPrintln(str.ToArray())  //[v i c t o r y]
    FmtPrintln(FirstCaseToUpper("aaa_bbb_ccc",false))  // aaaBbbCcc
    FmtPrintln(FirstCaseToUpper("aaa_bbb_ccc",true))   // AaaBbbCcc
    strArray := strings.Split("victory","")
    FmtPrintln(strArray) //[v i c t o r y]
    FmtPrintln(ArrayToString(strArray)) //victory
}

3.GitHub源码地址

https://github.com/timespacegroup/go-utils
https://github.com/timespacegroup/go-utils/blob/master/string.go

猜你喜欢

转载自blog.csdn.net/typa01_kk/article/details/80144337