どうも、ちょげ(@chogetarou)です。
文字列(string)の先頭から指定した文字数を取得する方法を紹介します。
方法

文字列(string)の先頭からN文字を取得する方法は、2つあります。
スライス
ひとつは、「スライス」を使う方法です。
具体的な方法としては、文字列のインデックス「0」から取得する文字数に「-1」した場所までをスライスします。
//text=対象の文字列, n=取得する文字数
result := text[:n]
上記のスライスで、文字列(string)の先頭からN文字を取得できます。
使用例
package main
import (
"fmt"
)
func main() {
text := "Hello,World"
n := 5 //取得する文字数
result := text[:n]
fmt.Println(result)
}
出力:
Hello
string()とスライス
もうひとつは、string()とスライスを使う方法です。
まず、文字列をスライスに変換します。
次に、string()を呼び出します。
string()の引数に、変換したスライスをインデックス「0」から取得する文字数の場所までをスライスした結果を指定します。
//text=対象の文字列, n=取得する文字数
slice := []rune(text) //文字列をスライスに変換
result := string(slice[0:n]) //文字列の後ろからN文字を取得
上記のstring()は、文字列(string)の先頭からN文字を取得します。
使用例
package main
import (
"fmt"
)
func main() {
text1 := "Hello,World"
text2 := "こんにちは、世界"
n := 5 //取得する文字数
slice1 := []rune(text1)
result1 := string(slice1[0:n])
slice2 := []rune(text2)
result2 := string(slice2[0:n])
fmt.Println(result1)
fmt.Println(result2)
}
出力:
Hello
こんにちは
まとめ
文字列(string)の先頭からN文字を取得する方法は、次の2つです。
- スライスを使う方法
result := text[:n]
- string()とスライスを使う方法
slice := []rune(text)
result := string(slice[0:n])
コメント