【问题标题】:Replace content of the line (in ace.editor) and overwrite it替换该行的内容(在 ace.editor 中)并覆盖它
【发布时间】:2014-07-11 10:15:06
【问题描述】:

我在 ace.editor 中有一些内容。现在我有一个触发器按钮,它可以在实际行中放置新文本 - 这很有效,但我想像这样覆盖行中的完整内容(填充制表符和数字):

光标所在位置的那一行应该被完整地覆盖并填充新的内容。使用我的代码(见下文)我可以在编辑器中编写,但不会覆盖它。

查看我的代码,就像我尝试过的一样:

function Textuebergabe_NP01(text) {
    null_tabelle_dues1_text.insert(
       null_tabelle_dues1_text.replace(/^.*,\s*RA:\s*/, "") + text + '\r\n    '
    );
}

【问题讨论】:

    标签: javascript regex ace-editor


    【解决方案1】:

    要替换行的内容,请使用editor.session.replace 函数。 像这样

    var Range = require("ace/range").Range
    var row = editor.selection.lead.row
    var newText = "someText"
    editor.session.replace(new Range(row, 0, row, Number.MAX_VALUE), newText)
    

    【讨论】:

    • @a 用户,首先感谢。这是有效的。但我现在有一个额外的问题。我有更多编辑器,我想将这些值放在
       中。我不知道如何把所有东西放在那里。这是我的代码与您的函数:>>>>>> function readAbsAxforNp01() { var Range = require("ace/range").Range var row = editor.selection.lead.row var newNP01data = (" " + paramXabs + " " + paramYabs + " " + paramZabs); document.innerHTML(null_tabelle_dues1_text) = editor.session.replace(new Range(row, 0, row, Number.MAX_VALUE), newNP01data) }
    • 对不起,你写的没有任何意义。 document.innerHTML(null_tabelle_dues1_text) 你想做什么? innerHTML 不是函数! = editor.session.replace editor.session.replace 不返回字符串。
    • 我的 2.nd 编辑器在我之前的 null_tabelle_dues1_text 中。我试着把它放在那里。我还认为,这不是那样运行的,当我通过 InnerHTML 发送文本时,它会将所需的文本放入 id 为 null_tabelle_ 的编辑器中...现在,使用您的函数,它将文本放入主编辑器中。如何我可以发给对方吗?
    • 您无法使用 innerHTML 设置编辑器值,也许您正在寻找 editor.setValue?
    • 编辑器对我来说是新的。我有一个主编辑器,但我想发送的数据不必导入。我还有其他 4 位编辑。以及我通过
       在我的 html 文件中显示的那些。当我使用 InnerHTML 时,我可以在第二个编辑器中发送数据,但该行不会被覆盖。使用您的代码,它将是,但仅在主编辑器中并且不需要。抱歉,解释起来有点沉重。如果您想了解更多详细信息,我可以给您发送一个更大的带有图片说明的 Mal
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多