1. ホーム
  2. ジャバスクリプト

[解決済み】別の文字列のxの位置に文字列を挿入する

2022-03-30 06:51:47

質問

2つの変数があり、文字列を挿入する必要があります。 b を文字列 a で表される点で position . 私が求めている結果は "私はリンゴが欲しい"です。JavaScriptでこれを行うにはどうしたらよいでしょうか?

var a = 'I want apple';
var b = ' an';
var position = 6;

解決方法は?

var a = "I want apple";
var b = " an";
var position = 6;
var output = [a.slice(0, position), b, a.slice(position)].join('');
console.log(output);


オプションです。Stringのプロトタイプメソッドとして

以下は、スプライシングに使用できます。 text を別の文字列の中で任意の位置で index で、オプションで removeCount パラメータを指定します。

if (String.prototype.splice === undefined) {
  /**
   * Splices text within a string.
   * @param {int} offset The position to insert the text at (before)
   * @param {string} text The text to insert
   * @param {int} [removeCount=0] An optional number of characters to overwrite
   * @returns {string} A modified string containing the spliced text.
   */
  String.prototype.splice = function(offset, text, removeCount=0) {
    let calculatedOffset = offset < 0 ? this.length + offset : offset;
    return this.substring(0, calculatedOffset) +
      text + this.substring(calculatedOffset + removeCount);
  };
}

let originalText = "I want apple";

// Positive offset
console.log(originalText.splice(6, " an"));
// Negative index
console.log(originalText.splice(-5, "an "));
// Chaining
console.log(originalText.splice(6, " an").splice(2, "need", 4).splice(0, "You", 1));
.as-console-wrapper { top: 0; max-height: 100% !important; }