文字列の指定した位置に別の文字列を挿入する

文字列の中の指定の位置に別の文字列を挿入することができます。新しい文字列を作成するのではなく、元の文字列に挿入します。ここでは Ruby で文字列の指定した位置に別の文字列を挿入する方法を解説します。

(Last modified: )

文字列に別の文字列を挿入する

文字列の中の指定の位置に別の文字列を挿入する方法です。 String クラスで用意されている insert メソッドを使います。

insert(nth, other)

1 番目の引数で指定した位置の直前に 2 番目の引数で指定した文字列を挿入します。位置は先頭文字が 0 文字目、次の文字が 1 文字目と数えていきます。文字の数なので半角でも全角でも同じように文字数で指定します。

具体的には次のように記述します。

str = "ABCDE"
str.insert(1, "XY")  # AXYBCDE

対象の文字列の 1 番目の文字( "B" )の直前に "XY" を挿入しています。

なお文字列を置き換える構文を使って次のように記述しても挿入が行えます。

文字列[nth, 0] = other

上記は「nth」の位置から長さ「0」の文字列を「other」に置き換えるという意味になります。結果として「nth」の位置に「other」を挿入します。(一部分の置き換えについては「文字列の一部分を別の文字列に置き換える」を参照して下さい)。

サンプルコード

では簡単なサンプルで試してみます。

# encoding: UTF-8

str = "ABCDE"
str.insert(1, "XY")
puts(str)

str = "東京都赤坂"
str.insert(3, "港区")
puts(str)

実行結果は次のようになります。

指定の位置に文字列を挿入する

-- --

Ruby で文字列の指定した位置に別の文字列を挿入する方法を解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。