在Ace Editor中检索字符串的行号

时间:2013-08-02 09:16:18

标签: javascript editor ace-editor

我正在尝试检索ace编辑器中显示的文本中给定字符串的行号。

  1. 示例:搜索“foo”
  2. 回程:[4,5]
  3. 条件:ace编辑器内容中的第4行和第5行包含“foo”字符串

2 个答案:

答案 0 :(得分:5)

迭代所有行并检查indexOf

function findFooLineNumbers(editor, foo) {
    var lines = editor.session.doc.getAllLines()
    var fooLineNumbers = []
    for (var i = 0, l = lines.length; i < l; i++) {
        if (lines[i].indexOf(foo) != -1)
           fooLineNumbers.push(i)
    }
    return fooLineNumbers
}

答案 1 :(得分:-1)

你留下的信息太少,你不能指望得到很好的帮助

如果您想在需要数组

的同时返回更多信息
var number = new Number(5) // Single number. he will return just 5

您可以尝试这样的事情来了解如何返回数组

function test() {
    var IDs = new Array();
        IDs['s'] = "1 342 364,586";
        IDs['g'] = "123 324 646 876";

        for (var i = 0; i <= IDs.lenght; i ++ ) {
             // do somthing  
        }
    return IDs;
}

要检查返回是否真的是nubmer,请使用 Number.NaN