golang stringsパッケージ関数
8230 ワード
1、2つのutf-8符号化文字列(unicode大文字、小文字、タイトルの3つのフォーマット文字を同じと見なす)が同じかどうかを判断します.
2、str 1に接頭辞文字列prefixがあるかどうかを判断する.大文字と小文字の区別に注意
3、str 3に接尾辞文字列suffixがあるかどうかを判断する.(大文字と小文字の区別に注意)
4、文字列str 4にサブストリングsubstrが含まれているか否かを判断する.(大文字と小文字の区別に注意)
5、文字列str 5がutf-8符号値utf 8を含むか否かを判断するstr(runeタイプ=int 32).
6、文字列str 6が文字列charsのいずれかの文字を含むか否かを判断する.
7、戻り文字列str 7に重複しないsepサブ列がいくつかある
8、サブストリングstr 8文字列sep_sで最初に出現した位置は,存在しなければ−1を返す.
9、文字cがsで初めて現れる位置、存在しない場合-1を返す
10、unicodeコード値int 32_charがstr 10で初めて現れる位置は、存在しない場合は−1を返す.
11、str 11における最初の関数fを満たす位置i(ここでのutf-8符号値rはfを満たす®==true)、存在しない場合は-1を返します.
12、サブストリングesp 12は、文字列str 12に最後に現れる位置であり、存在しない場合は−1を返す.
13、文字列chars 13のいずれかのutf-8符号値がstr 13で最後に現れた位置であり、存在しないかchars 13が空の文字列であれば-1を返す
14、str 14のうち最後の関数fを満たすunicode符号値の位置iは、存在しなければ−1を返す.
15、sの各単語の頭文字がタイトル形式の文字列コピーに変更されたことを返します.
16.すべてのアルファベットを対応する小文字に変換したコピーを返します.
17、すべてのアルファベットを対応する大文字バージョンに変換したコピーを返します.
18.すべての文字を対応するタイトルバージョンに変換したコピーを返します.
19、count個s直列の文字列を返します.
20、str 20の前のn個の重複しないoldサブストリングをnewに置換する新しい文字列を返し、n<0の場合、すべてのoldサブストリングが置換される.
21、str 21の前後のすべてのcutsetに含まれるutf-8コード値を削除した文字列を返す
22、s前後のすべての空白を削除した文字列を返します.
23.文字列を空白(unicode.IsSpace)で区切った複数の文字列を返します.文字列がすべて空白または空の文字列であれば、空のスライスが返されます.
24、sに現れるsep 24を取り除くように分割し、最後まで分割し、生成したすべてのセグメントからなるスライスを返す(各sep 24は1回の切断を行い、2つのsep 24が隣接していても2回の切断を行う).sep 24が空の文字の場合、Splitはsをunicodeコード値ごとに1つの文字列に分割します.
25.一連の文字列を1つの文字列に接続し、sep 25で区切る.
str1 := "String"
str2 := "string"
ok := strings.EqualFold(str1,str2)
fmt.Printf(" str1 = %s , str2 = %s %t
",str1 ,str2,ok)
str1 = "string"
ok2 := strings.EqualFold(str1,str2)
fmt.Printf(" str1 = %s , str2 = %s %t",str1 ,str2,ok2)
2、str 1に接頭辞文字列prefixがあるかどうかを判断する.大文字と小文字の区別に注意
str1 := "string"
prrfix := "st"
prefix_ok := strings.HasPrefix(str1,prrfix)
fmt.Printf(" %s %s , %t
",str1 ,prrfix ,prefix_ok)
str1 = "string"
prrfix = "St"
prefix_ok = strings.HasPrefix(str1,prrfix)
fmt.Printf(" %s %s , %t
",str1 ,prrfix ,prefix_ok)
str1 = "String"
prrfix = "st"
prefix_ok = strings.HasPrefix(str1,prrfix)
fmt.Printf(" %s %s , %t
",str1 ,prrfix ,prefix_ok)
str1 = "string"
prrfix = "t"
prefix_ok = strings.HasPrefix(str1,prrfix)
fmt.Printf(" %s %s , %t
",str1 ,prrfix ,prefix_ok)
3、str 3に接尾辞文字列suffixがあるかどうかを判断する.(大文字と小文字の区別に注意)
str3 := "string"
suffix := "ing"
suffix_ok := strings.HasSuffix(str3,suffix)
fmt.Printf("%s %s , %t
",str3,suffix,suffix_ok)
str3 = "www.baidu.com"
suffix = "mom"
suffix_ok = strings.HasSuffix(str3,suffix)
fmt.Printf("%s %s , %t
",str3,suffix,suffix_ok)
str3 = "www.baidu.com"
suffix = ".Com"
suffix_ok = strings.HasSuffix(str3,suffix)
fmt.Printf("%s %s , %t
",str3,suffix,suffix_ok)
4、文字列str 4にサブストリングsubstrが含まれているか否かを判断する.(大文字と小文字の区別に注意)
str4 := "strings arr bool , int"
substr := "int"
substr_ok := strings.Contains(str4,substr)
fmt.Printf(" %s , %s , %t
",str4,substr,substr_ok)
str4 = "strings arr bool , int"
substr = "Int"
substr_ok = strings.Contains(str4,substr)
fmt.Printf(" %s , %s , %t
",str4,substr,substr_ok)
str4 = "strings arr bool , int"
substr = ","
substr_ok = strings.Contains(str4,substr)
fmt.Printf(" %s , %s , %t
",str4,substr,substr_ok)
5、文字列str 5がutf-8符号値utf 8を含むか否かを判断するstr(runeタイプ=int 32).
str5 := "string hello word"
var utf8_str int32 = 115 // s utf8 115
utf8_str_ok := strings.ContainsRune(str5,utf8_str)
fmt.Printf(" %s utf-8 %v , %t
",str5,utf8_str,utf8_str_ok)
6、文字列str 6が文字列charsのいずれかの文字を含むか否かを判断する.
str6 := "hello word"
chars := "ab"
chars_ok := strings.ContainsAny(str6,chars)
fmt.Printf(" %s %s , %t
",str6,chars,chars_ok)
str6 = "hello word"
chars = "H"
chars_ok = strings.ContainsAny(str6,chars)
fmt.Printf(" %s %s , %t
",str6,chars,chars_ok)
str6 = "hello word"
chars = " "
chars_ok = strings.ContainsAny(str6,chars)
fmt.Printf(" %s %s , %t
",str6,chars,chars_ok)
7、戻り文字列str 7に重複しないsepサブ列がいくつかある
str7 := "hello word"
sep := "l"
number := strings.Count(str7,sep)
fmt.Printf(" %s %s , :%s %d ",str7,sep,sep,number)
8、サブストリングstr 8文字列sep_sで最初に出現した位置は,存在しなければ−1を返す.
str8 := "hello word"
sep_s := "w"
num := strings.Index(str8,sep_s)
fmt.Printf(" %s %s , %d
",str8,sep_s,num)
str8 = "hello word"
sep_s = "a"
num = strings.Index(str8,sep_s)
fmt.Printf(" %s %s , %d
",str8,sep_s,num)
9、文字cがsで初めて現れる位置、存在しない場合-1を返す
str9 := "hello word"
var c_str byte = 'A';
c_str_num := strings.IndexByte(str9,c_str)
fmt.Printf(" %s %s , %d
",c_str,str9,c_str_num)
str9 = "hello word"
c_str = 'h';
c_str_num = strings.IndexByte(str9,c_str)
fmt.Printf(" %s %s , %d
",c_str,str9,c_str_num)
10、unicodeコード値int 32_charがstr 10で初めて現れる位置は、存在しない場合は−1を返す.
str10 := "hello words"
var int32_char int32 = 115 // s int32 115
int32_char_num := strings.IndexRune(str10,int32_char)
fmt.Printf("unicode %d %s , %d
" ,int32_char,int32_char,int32_char_num)
11、str 11における最初の関数fを満たす位置i(ここでのutf-8符号値rはfを満たす®==true)、存在しない場合は-1を返します.
str11 := "hello words"
var str11_int32_char int32 = 115 // s int32 115
strll_int32_char_ok := strings.IndexFunc(str11, func(r rune) bool {
if r == str11_int32_char{
return true
}
return false
})
fmt.Printf(" %s f, %d
",str11,strll_int32_char_ok)
12、サブストリングesp 12は、文字列str 12に最後に現れる位置であり、存在しない場合は−1を返す.
str12 := "hello word"
esp12 := "word"
num12 := strings.LastIndex(str12,esp12)
fmt.Printf(" %s %s , %d
",esp12,str12,num12)
13、文字列chars 13のいずれかのutf-8符号値がstr 13で最後に現れた位置であり、存在しないかchars 13が空の文字列であれば-1を返す
str13 := "hello word"
chars13 := "wo"
num13 := strings.LastIndexAny(str13,chars13)
fmt.Printf(" %s utf-8 %s , %d",str13,chars13,num13)
14、str 14のうち最後の関数fを満たすunicode符号値の位置iは、存在しなければ−1を返す.
str14 := "hello word"
var str14_char int32 = 115 // s int32 115
num14 := strings.LastIndexFunc(str14,func(r rune) bool {
if r == str14_char{
return true
}
return false
})
fmt.Printf(" %s f unicode i, %d
",str14,num14)
15、sの各単語の頭文字がタイトル形式の文字列コピーに変更されたことを返します.
str15 := "hello word"
str15 = strings.Title(str15)
fmt.Println(str15)
16.すべてのアルファベットを対応する小文字に変換したコピーを返します.
str16 := "HEllO WORD"
str16 = strings.ToLower(str16)
fmt.Println(str16)
17、すべてのアルファベットを対応する大文字バージョンに変換したコピーを返します.
str17 := "hello word "
str17 = strings.ToUpper(str17)
fmt.Println(str17)
18.すべての文字を対応するタイトルバージョンに変換したコピーを返します.
str18 := "hello word"
str18 = strings.ToTitle(str18)
fmt.Println(str18)
19、count個s直列の文字列を返します.
str19 := "hello word "
str19 = strings.Repeat(str19,5)
fmt.Println(str19)
20、str 20の前のn個の重複しないoldサブストリングをnewに置換する新しい文字列を返し、n<0の場合、すべてのoldサブストリングが置換される.
str20 := "hello word golang golang golang"
old := "golang"
newstr := "golang_go"
str20 = strings.Replace(str20,old,newstr,1)
fmt.Println(str20)
21、str 21の前後のすべてのcutsetに含まれるutf-8コード値を削除した文字列を返す
str21 := "Ahello wordA"
cutset:= "A"
cutset_ok := strings.Trim(str21,cutset)
fmt.Printf(" %s %s utf-8 , %s
",str21,cutset,cutset_ok)
22、s前後のすべての空白を削除した文字列を返します.
str22 := " hello word "
str22_ok := strings.TrimSpace(str22)
fmt.Printf(" %s , :%s",str22,str22_ok)
23.文字列を空白(unicode.IsSpace)で区切った複数の文字列を返します.文字列がすべて空白または空の文字列であれば、空のスライスが返されます.
str23 := "hello word"
var arr []string
arr = strings.Fields(str23)
fmt.Println(reflect.TypeOf(arr),arr)
24、sに現れるsep 24を取り除くように分割し、最後まで分割し、生成したすべてのセグメントからなるスライスを返す(各sep 24は1回の切断を行い、2つのsep 24が隣接していても2回の切断を行う).sep 24が空の文字の場合、Splitはsをunicodeコード値ごとに1つの文字列に分割します.
str24 := "hello word hello word "
sep24 := " "
arr24 := strings.Split(str24,sep24)
fmt.Printf(" %s %s %v, %d
",str24,sep24,reflect.TypeOf(arr24), len(arr24))
str24 = "helloAwordAhelloAwordA"
sep24 = "A"
arr24 = strings.Split(str24,sep24)
fmt.Printf(" %s %s %v, %d
",str24,sep24,reflect.TypeOf(arr24), len(arr24))
25.一連の文字列を1つの文字列に接続し、sep 25で区切る.
arr25 := []string{"www","baidu","com"}
sep25 := "."
str25 := strings.Join(arr25,sep25)
fmt.Printf(" arr25 %v %s %s",arr25,sep25,str25)