在 JavaScript 中,在一个字符串的特定位置插入另一个字符串
方法一:使用 slice() 或 substring() 结合字符串拼接
这是最基本的方法,通过将原始字符串分割成两部分,然后在这两部分之间插入新的字符串。
{
function insertStr(source, insert, index) {
return source.slice(0, index) + insert + source.slice(index);
}
let original = "Hello World";
let toInsert = ", beautiful";
let position = original.search(" World");
let result = insertStr(original, toInsert, position);
}
方法二:使用 replace 正则表达式(适用于基于模式的插入)replace
如果插入位置是基于某个模式而不是固定的索引,可以使用正则表达式。
{
function insertStrByPattern(source, insertPos, insert) {
let pattern = new RegExp(insertPos);
return source.replace(pattern, (match) => match + insert);
}
let original = "Hello World";
let insertPos = "World";
let toInsert = " beautiful";
let result = insertStrByPattern(original, insertPos, toInsert);
console.log("🚀 ~ file: App.vue:33 ~ result:", result);
}
方法三:使用数组方法
将字符串转换为数组,然后使用数组的 splice() 方法插入新字符串,最后再将数组转回字符串。
{
function insertStrUsingArray(source, insert, index) {
let arr = source.split("");
arr.splice(index, 0, ...insert.split(""));
return arr.join("");
}
let original = "Hello World";
let toInsert = ", beautiful";
let position = original.search(" World");
let result = insertStrUsingArray(original, toInsert, position);
}