go言語 文字列内に指定した文字列が最初にある位置を取得する

  • 作成日 2021.03.31
  • 更新日 2022.11.03
  • go
go言語 文字列内に指定した文字列が最初にある位置を取得する

go言語で、stringsパッケージのIndexを使用して、文字列内に指定した文字列が最初にある位置を取得するサンプルコードを記述してます。go言語のバージョンは1.15.4を使用してます。

環境

  • OS windows10 pro 64bit
  • go言語 1.15.4

Index使い方

Indexを使用すると、文字列内に指定した文字列が最初にある位置を取得することが可能です。

strings.Index(文字列, 位置を取得する文字列)

// 最初にあった位置が返ります

以下は、Indexを使って、文字列「abcdefabc」内に指定した文字が最初にあった位置を表示するサンプルコードとなります。

package main

import (
	"fmt"
	"strings"
)

func main() {

	str := "abcdefabc"

	fmt.Println(strings.Index(str, "a"))
	// 0

	fmt.Println(strings.Index(str, "e"))
	// 4

	fmt.Println(strings.Index(str, "bc"))
	// 1

	fmt.Println(strings.Index(str, "z"))
	// -1 存在しない場合は-1となります

}

最後の位置を取得する場合は「LastIndex」を使用します。

strings.LastIndex(文字列, 位置を取得する文字列)

// 最後にあった位置が返ります

以下は、LastIndexを使って、文字列「abcdefabc」内に指定した文字が最後にあった位置を表示するサンプルコードとなります

package main

import (
	"fmt"
	"strings"
)

func main() {

	str := "abcdefabc"

	fmt.Println(strings.LastIndex(str, "a"))
	// 6

	fmt.Println(strings.LastIndex(str, "e"))
	// 4

	fmt.Println(strings.LastIndex(str, "bc"))
	// 7

	fmt.Println(strings.LastIndex(str, "z"))
	// -1 存在しない場合は-1となります

}