Contains
文字列検索
strings.Contains(s, substr string) bool: このメソッドは、与えられた部分文字列 'substr' が文字列 's' に含まれているかどうかをチェックするために使用されます。部分文字列が見つかった場合は、trueを返します。そうでない場合は、falseを返します。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "hello world"
var substr = "world"
var result = strings.Contains(str, substr)
fmt.Println(result) // true
}
Index
文字列検索
strings.Index(s, substr string) int: このメソッドは、文字列 's' の最初の出現箇所の開始インデックスを検索するために使用されます。部分文字列が見つからない場合は、-1を返します。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "hello world"
var substr = "world"
var result = strings.Index(str, substr)
fmt.Println(result) // 6
}
ToLower
小文字変換
strings.ToLower(s string) string: このメソッドは、文字列 's' のすべての文字を小文字に変換するために使用されます。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "HeLLo WoRLd"
var result = strings.ToLower(str)
fmt.Println(result) // "hello world"
}
ToUpper
大文字変換
strings.ToUpper(s string) string: このメソッドは、文字列 's' のすべての文字を大文字に変換するために使用されます。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "HeLLo WoRLd"
var result = strings.ToUpper(str)
fmt.Println(result) // "HELLO WORLD"
}
Split
文字列分割
strings.Split(s, sep string) []string: このメソッドは、区切り文字 'sep' を使用して文字列 's' をサブ文字列に分割し、文字列のスライスを返します。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "apple,banana,orange"
var sep = ","
var result = strings.Split(str, sep)
fmt.Println(result) // ["apple", "banana", "orange"]
}
SplitAfter
文字列分割
strings.SplitAfter(s, sep string) []string: このメソッドは、区切り文字 'sep' を使用して文字列 's' をサブ文字列に分割し、文字列のスライスを返します。ただし、このメソッドは、区切り文字をサブ文字列の末尾に含める点で Split
メソッドと異なります。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "apple,banana,orange"
var sep = ","
var result = strings.SplitAfter(str, sep)
fmt.Println(result) // ["apple,", "banana,", "orange"]
}
SplitN
文字列分割
strings.SplitN(s, sep string, n int) []string: このメソッドは、区切り文字 'sep' を使用して文字列 's' をサブ文字列に分割しますが、 'n' を指定することで、分割する最大回数を指定できます。指定した分割回数に達した場合、残りの部分文字列は区切り文字を含んで返されます。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "apple,banana,orange,peach,mango"
var sep = ","
var n = 3
var result = strings.SplitN(str, sep, n)
fmt.Println(result) // ["apple", "banana", "orange,peach,mango"]
}
SplitAfterN
文字列分割
strings.SplitAfterN(s, sep string, n int) []string: このメソッドは、区切り文字 'sep' を使用して文字列 's' をサブ文字列に分割しますが、 'n' を指定することで、分割する最大回数を指定できます。指定した分割回数に達した場合、残りの部分文字列は区切り文字を含んで返されます。なお、このメソッドは、区切り文字をサブ文字列の末尾に含める点で Split メソッドと異なります。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "apple,banana,orange,peach,mango"
var sep = ","
var n = 3
var result = strings.SplitAfterN(str, sep, n)
fmt.Println(result) // ["apple,", "banana,", "orange,peach,mango"]
}
Join
文字列結合
strings.Join(a []string, sep string) string: このメソッドは、文字列のスライス 'a' の要素を区切り文字 'sep' で連結し、単一の文字列にします。
package main
import (
"fmt"
"strings"
)
func main() {
var arr = []string{"apple", "banana", "orange"}
var sep = ","
var result = strings.Join(arr, sep)
fmt.Println(result) // "apple,banana,orange"
}
Replace
文字列の置換
strings.Replace(s, old, new string, n int) string: このメソッドは、文字列 's' 中の部分文字列 'old' の最初の 'n' 個の出現箇所を新しい部分文字列 'new' で置き換えます。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "hello world world world"
var oldStr = "world"
var newStr = "golang"
var n = 2
// n=-1にすると全て置換する
var result = strings.Replace(str, oldStr, newStr, n)
fmt.Println(result) // "hello golang golang world"
}
HasPrefix
接頭辞検索
strings.HasPrefix(s, prefix string) bool: このメソッドは、文字列 's' が指定された接頭辞 'prefix' で始まるかどうかをチェックするために使用されます。接頭辞が見つかった場合は、trueを返します。そうでない場合は、falseを返します。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "hello world"
var prefix = "hello"
var result = strings.HasPrefix(str, prefix)
fmt.Println(result) // true
}
HasSuffix
接尾辞検索
strings.HasSuffix(s, suffix string) bool: このメソッドは、文字列 's' が指定された接尾辞 'suffix' で終わるかどうかをチェックするために使用されます。接尾辞が見つかった場合は、trueを返します。そうでない場合は、falseを返します。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "hello world"
var suffix = "world"
var result = strings.HasSuffix(str, suffix)
fmt.Println(result) // true
}
TrimSpace
文字列の前後トリム
strings.TrimSpace(s string) string: このメソッドは、文字列 's' の先頭と末尾の空白文字をすべて削除するために使用されます。
package main
import (
"fmt"
"strings"
)
func main() {
var str = " hello world "
var result = strings.TrimSpace(str)
fmt.Println(result) // "hello world"
}
TrimLeft
文字列の先頭トリム
strings.TrimLeft(s string, cutset string) string: このメソッドは、文字列 's' の先頭にある 'cutset' に含まれる文字をすべて削除します。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "###hello world###"
var cutset = "#"
var result = strings.TrimLeft(str, cutset)
fmt.Println(result) // "hello world###"
}
TrimRight
文字列の末尾トリム
strings.TrimRight(s string, cutset string) string: このメソッドは、文字列 's' の末尾にある 'cutset' に含まれる文字をすべて削除します。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "###hello world###"
var cutset = "#"
var result = strings.TrimRight(str, cutset)
fmt.Println(result) // "###hello world"
}
Repeat
文字列の繰り返し
strings.Repeat(s string, count int) string: このメソッドは、文字列 's' を 'count' 回繰り返すために使用されます。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "Hello"
var count = 3
var result = strings.Repeat(str, count)
fmt.Println(result) // "HelloHelloHello"
}
Fields
文字列分割
strings.Fields(s string) []string: このメソッドは、文字列 's' を空白文字で分割し、部分文字列のスライスを返します。
package main
import (
"fmt"
"strings"
)
func main() {
var str = "apple banana orange"
var result = strings.Fields(str)
fmt.Println(result) // ["apple", "banana", "orange"]
}