字串操作在程式設計中佔了很大的比重。
package main
import (
"bytes"
"fmt"
"strconv"
"strings"
"unicode"
)/**
簡單實用string操作符
func contains(s, substr string) bool
func join(a string, sep string) string
func index(s, sep string) int
func replace(s, old, new string, n int) string
func repeat(s string, count int) string
func split(s, sep string) string
func trim(s string, cutset string) string
func fields(s string) string
func compare(a, bstring)int
//查詢
// 判斷給定字串s中是否包含子串substr, 找到返回true, 找不到返回false
funccontains(s, substrstring)bool
// 在字串s中查詢sep所在的位置, 返回位置值, 找不到返回-1
funcindex(s, sepstring)int
// 統計給定子串sep的出現次數, sep為空時, 返回1 + 字串的長度
funccount(s, sepstring)int
//重複
// 重複s字串count次, 最後返回新生成的重複的字串
func repeat(sstring,countint)string
//替換
// 在s字串中, 把old字串替換為new字串,n表示替換的次數,小於0表示全部替換
funcreplace(s, old,newstring, nint)string
//刪除
// 刪除在s字串的頭部和尾部中由cutset指定的字元, 並返回刪除後的字串
func trim(sstring, cutsetstring)string
//大小寫轉換
// 給定字串轉換為英文標題的首字母大寫的格式(不能正確處理unicode標點)
functitle(sstring)string
// 所有字母轉換為小寫
functolower(sstring)string
// 所有字母轉換為大寫
functoupper(sstring)string
字串字首字尾
字首和字尾的判斷均為大小寫敏感
// 判斷字串是否包含字首prefix
funchasprefix(s, prefixstring)bool
// 判斷字串是否包含字尾suffix,
funchassuffix(s, suffixstring)bool
字串分割
字串分割
函式介面
// 把字串按照sep進行分割, 返回slice(類似於python中的split)
funcsplit(s, sepstring) string
// 去除字串s中的空格符, 並按照空格(可以是乙個或者多個空格)分割字串, 返回slice
funcfields(sstring) string
// 當字串中字元c滿足函式f(c)時, 就進行字串s的分割
funcfieldsfunc(sstring, ffunc(rune)bool) string
字串拼接
三種拼接方案:
1 直接用 += 操作符, 直接將多個字串拼接.
最直觀的方法, 不過當資料量非常大時用這種拼接訪求是非常低效的.
2 用字串切片(string)裝載所有要拼接的字串,
最後使用strings.join() 函式一次性將所有字串拼接起來。在資料量非常大時,這種方法的效率也還可以的。
3 利用buffer( buffer是乙個實現了讀寫方法的可變大小的位元組緩衝 ),將所有的字串都寫入到乙個buffer變數中,最後再統一輸出.
字元轉換
字串轉換
字串轉化的函式在 strconv 中
format* 函式將給定的型別變數轉換為string返回
parse* 函式將字串轉換為其他型別
**/func main()
fmt.println(strings.fieldsfunc(str1, afunc))
//拼接
str2 = " gogogo!"
fmt.println(str1 + str2)
var strarr string
fmt.println(strings.join(strarr, ""))
var buffer bytes.buffer
buffer.writestring(str1)
buffer.writestring(str2)
fmt.println(buffer.string())
//字串轉換
str3 := make(byte, 0, 100)
fmt.println(string(str3))
//格式化處理
fmt.printf("%t,%v\n", strconv.formatbool(true), strconv.formatbool(true))
fmt.printf("%t,%v\n", strconv.formatint(-44, 10))
fmt.printf("%t,%v\n", strconv.itoa(1234), strconv.itoa(1234))
}
golang 字串操作例項
package main import s strings import fmt var p fmt.println func main 字串陣列 連線 a b p repeat s.repeat a 5 重複乙個字串 aaaaa p replace s.replace foo o 0 1 字串替換...
golang之字串操作
1.字串在另乙個字串第一次出現的位置 str hello world fmt.println strings.index str,world 62.字串在另乙個字串最後一次出現的位置 fmt.println strings.lastindex str,l 93.切割字串 fmt.println st...
Golang 字串型別和字串操作
package main import fmt func main 標準輸出 bo y 我來自 t中國package main import fmt func main 標準輸出 我叫boy false true true true false false truepackage main impo...