Go言語のindex関数とLastIndex関数で、文字列の位置を取得するサンプルです。
目次
文字列 | 最初の文字列の位置を取得する(index) |
最後の文字列の位置を取得する(LastIndex) |
最初の文字列の位置を取得する(index)
func Index(s, substr string) int |
- stringsパッケージをインポートします。
- 引数の1つめは検索元の文字列です。
- 引数の2つめは検索する文字列です。
- 最初の文字列の位置を取得します。位置は0から始まります。
- 存在しないときは、-1を返します。
Index関数のサンプルです。
package main
import "fmt"
import "strings"
func main(){
str1 := "abcabc"
fmt.Println(strings.Index(str1,"a")); // 0が出力される
fmt.Println(strings.Index(str1,"b")); // 1が出力される
fmt.Println(strings.Index(str1,"c")); // 2が出力される
fmt.Println(strings.Index(str1,"abc")); // 0が出力される
fmt.Println(strings.Index(str1,"z")); // -1が出力される
str2 := "あいうあいう"
fmt.Println(strings.Index(str2,"あ"));// 0が出力される
fmt.Println(strings.Index(str2,"い"));// 3が出力される
fmt.Println(strings.Index(str2,"う"));// 6が出力される
}
6行目は、変数に文字列を代入しています。
7~10行目は、検索する文字列が最初に見つかった位置を返しています。
11行目は、該当の文字がないので-1が返ります。
13行目は、変数に日本語の文字列を代入しています。
14~16行目は、返り値が3ずつ増加しています。
以下は公式のGo言語のIndex関数のリンクです。
https://golang.org/pkg/strings/#Index
最後の文字列の位置を取得する(LastIndex)
func LastIndex(s, substr string) int |
- stringsパッケージをインポートします。
- 引数の1つめは検索元の文字列です。
- 引数の2つめは検索する文字列です。
- 最後の文字列の位置を取得します。位置は0から始まります。
- 存在しないときは、-1を返します。
LastIndex関数のサンプルです。
package main
import "fmt"
import "strings"
func main(){
str1 := "abcabc"
fmt.Println(strings.LastIndex(str1,"a")); // 3が出力される
fmt.Println(strings.LastIndex(str1,"b")); // 4が出力される
fmt.Println(strings.LastIndex(str1,"c")); // 5が出力される
fmt.Println(strings.LastIndex(str1,"abc")); // 3が出力される
fmt.Println(strings.LastIndex(str1,"z")); // -1が出力される
str2 := "あいうあいう"
fmt.Println(strings.LastIndex(str2,"あ"));// 9が出力される
fmt.Println(strings.LastIndex(str2,"い"));// 12が出力される
fmt.Println(strings.LastIndex(str2,"う"));// 15が出力される
}
6行目は、変数に文字列を代入しています。
7~10行目は、検索する文字列が最後に見つかった位置を返しています。
11行目は、該当の文字がないので-1が返ります。
13行目は、変数に日本語の文字列を代入しています。
14~16行目は、返り値が3ずつ増加しています。
以下は公式のGo言語のLastIndex関数のリンクです。
https://golang.org/pkg/strings/#LastIndex
関連の記事
Go言語 英字の大文字と小文字を変換(ToLower/ToUpper)
Go言語 文字列の始まり/終わりを確認(HasPrefix/HasSuffix)