どうも、ちょげ(@chogetarou)です。
文字列(string)の最後の文字を削除する方法を紹介します。
方法

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