首页 > 解决方案 > 如何使用javascript从某些位置删除字符串并在该位置添加另一个字符串?

问题描述

我是编程新手,我想从某个位置替换字符串并用另一个字符串替换它。

考虑我有 string "i am @hello"。我想将从 @ 开始的字符串替换到光标位置。

我有@字符和光标位置的索引,但我不知道如何使用 replace 方法。

以下是片段:

replace_string = (original_string, "someuser") => {

    let new_value;
    const string_to_cursor_position = original_string.substring(0, 
        this.state.cursor_position);
    const at_char_position = string_to_cursor_position.lastIndexOf('@');

    return this.value.replace(this.state.cursor_position, 
    value_selected);
}

但这不会替换字符串。最终输出应该是 "i am someuser".

有人可以帮我解决这个问题吗谢谢。

标签: javascriptregex

解决方案


您可以简单地使用替换它的回调

在此处输入图像描述

let replace_string = (original_string, replaceBy) => {
  return original_string.replace(/@\w+/, replaceBy)
}

console.log(replace_string("i am @hello", 'someuser'))

我特意留下了g标志,如果你想替换前面的所有字符串,@你可以使用/@\w+/g


推荐阅读