JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで文字列の任意の位置(x番目)に別の文字列を挿入する方法

JavaScriptには、文字列の特定の位置に別の文字列を挿入するための標準メソッドは用意されていません。しかし、sliceメソッドを活用することで、シンプルに実現できます。sliceメソッドは、文字列の一部分を切り出して新しい文字列として返す機能を持っています。

ある文字列の位置xに別の文字列を挿入したい場合は、以下のような関数を定義します。

サンプルコード

function insertAtX(str1, str2, x) {
   return `${str1.slice(0, x)}${str2}${str1.slice(x)}`;
}
console.log(insertAtX("Hello World", "Test", 5));

実行結果

このコードを実行すると、次のような出力が得られます。

HelloTest World

仕組みの解説

この関数では、まず str1.slice(0, x) によって位置xより前の部分文字列を取得し、続けて挿入したい str2 を連結します。最後に str1.slice(x) で位置x以降の残りの部分を連結しています。テンプレートリテラルを使用することで、連結処理も読みやすいコードになります。

注意点

この実装はエッジケースには対応していません。たとえば、x が負の値の場合や、元の文字列の長さを超える場合の動作は考慮されていません。実務で使用する際は、引数のバリデーションやエラー処理を必要に応じて追加することをおすすめします。

  1. JavaScriptで文字列内の特定文字の最大連続出現回数を求める方法

    本記事では、JavaScriptを使って「文字列の中である1文字が連続して出現する最大回数」を求める方法を解説します。アルゴリズムの考え方から実際のコード、実行結果まで、初心者にもわかりやすく説明していきます。 問題 次のようなJavaScript関数を作成することを目標とします。 第1引数として文字列を受け取る 第2引数として1文字を受け取る その文字が文字列内で連続して出現した最長の回数を数え、返す コード例 以下がその実装コードです。 {     const arr = str.split();     

  2. JavaScriptで文字列内のアルファベットだけを反転する方法

    問題の概要JavaScriptで、アルファベットといくつかの特殊文字(記号)が混在する文字列 str を受け取る関数を作成することを求められています。この関数は、入力文字列をもとに新しい文字列を返します。その際のルールは次のとおりです。アルファベット以外の文字(記号・数字など)は、元の位置にそのまま留まります。アルファベットの文字だけが、互いに反転した位置へ移動します。入力例と出力例たとえば、関数への入力が以下だった場合を考えてみましょう。入力const str = k_lmn_opq;出力const output = q_pon_mlk;「_」という記号は位置が変わっておらず、アルファベット