JavaScriptで特定のインデックスの文字を置き換える方法
JavaScriptでは、文字列内の特定のインデックスの文字を置き換えるために、replace()
メソッドを使用します。
replace()
メソッドの構文
string.replace(searchValue, newSubstr);
- newSubstr
置き換え後の文字列。 - searchValue
置き換えたい文字または正規表現。 - string
対象の文字列。
例
let str = "Hello, world!";
let newStr = str.replace("world", "there");
console.log(newStr); // Output: Hello, there!
この例では、str
の"world"を"there"に置き換えています。
インデックスを指定する方法
searchValue
に正規表現を使用することで、インデックスを指定できます。
let str = "Hello, world!";
let newStr = str.replace(/./g, "X"); // 全ての文字を"X"に置き換える
console.log(newStr); // Output: XXXXXXXX
この例では、正規表現./g
を使用しています。
g
はグローバルフラグで、すべてのマッチを置き換えます。.
は任意の文字をマッチします。
特定のインデックスの文字を置き換えるには、正規表現でそのインデックスを指定します。
例えば、インデックス0の文字を置き換えるには、/^./
を使用します。
let str = "Hello, world!";
let newStr = str.replace(/^./, "A");
console.log(newStr); // Output: ello, world!
この例では、/^./
は行頭の任意の文字をマッチします。
例1: 文字列の特定のインデックスの文字を置き換える
let str = "Hello, world!";
let newStr = str.replace("world", "there");
console.log(newStr); // Output: Hello, there!
newStr
は置き換え後の文字列を格納します。replace("world", "there")
は、str
内の"world"を"there"に置き換えます。str
は元の文字列です。
例2: 正規表現を使用して特定のインデックスの文字を置き換える
let str = "Hello, world!";
let newStr = str.replace(/./g, "X"); // 全ての文字を"X"に置き換える
console.log(newStr); // Output: XXXXXXXX
replace(/./g, "X")
は、str
内のすべての文字を"X"に置き換えます。./g
は正規表現です。
例3: インデックス0の文字を置き換える
let str = "Hello, world!";
let newStr = str.replace(/^./, "A");
console.log(newStr); // Output: ello, world!
/^./
は正規表現です。^
は行頭を表します。
文字列置換の解説
JavaScriptでは、文字列の置換には主にreplace()
メソッドを使用します。このメソッドは、指定した文字列または正規表現を新しい文字列に置き換えます。
string.replace(searchValue, newSubstr);
正規表現の使用
正規表現を使用することで、より複雑な置換が可能になります。例えば、特定のインデックスの文字を置き換えるために、正規表現でそのインデックスを指定することができます。
複数の置換
replace()
メソッドは、一度に複数の置換を行うこともできます。そのためには、グローバルフラグg
を正規表現に指定します。
戻り値
文字列を配列に変換して操作する
let str = "Hello, world!";
let arr = str.split(""); // 文字列を配列に変換
arr[6] = "T"; // インデックス6の文字を置き換える
str = arr.join(""); // 配列を文字列に戻す
console.log(str); // Output: Hello, There!
join("")
は配列を文字列に戻します。- 配列の特定のインデックスの要素を変更します。
split("")
は文字列を1文字ずつ分割して配列にします。
substring()とconcat()を使用する
let str = "Hello, world!";
let newStr = str.substring(0, 6) + "T" + str.substring(7);
console.log(newStr); // Output: Hello, There!
- 抽出した文字列と新しい文字を連結します。
substring()
は指定したインデックスの間の文字列を抽出します。
let str = "Hello, world!";
let newStr = str.slice(0, 6) + "T" + str.slice(7);
console.log(newStr); // Output: Hello, There!
let str = "Hello, world!";
let newStr = str.substr(0, 6) + "T" + str.substr(7);
console.log(newStr); // Output: Hello, There!
javascript string replace