2013-08-02 7 views
5

Sto cercando di recuperare il numero di riga di una determinata stringa nel testo visualizzato nell'editor degli assi.Recupera il numero di riga della stringa in Ace Editor

  1. Esempio: la ricerca di "pippo"
  2. ritorno: [4, 5]
  3. Condizione: Linea 4 e 5 nel contenuto l'editor asso contiene la stringa "pippo"
+0

Buona fortuna, faccelo sapere. – Virus721

+0

@ Virus721 nessuna idea? : D perché buona fortuna? pensi che sia quasi impossibile? – Coxer

+0

Se è possibile recuperare il contenuto completo dell'editor, è possibile dividerlo con '\ n' e quindi cercare la stringa usando' indexOf'. Se 'risultato> -1', aggiungi l'attuale' i + 1' (dato che stai eseguendo il loop del risultato dello split, che è un array) alla matrice 'line'. L'unico problema è che non so se (e come) è possibile ottenere il contenuto di Ace Editor –

risposta

5

iterare su tutte le linee e verificare 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 
} 
+0

questo è come l'ho fatto ora, sì ... pensavo che ci potesse essere un modo più efficiente ... o almeno un modo per farlo pensava all'API ace – Coxer

-1

Hai lasciato troppo poche informazioni e non si può aspettare un grande aiuto

Se si desidera tornare ulteriori informazioni allo stesso tempo u bisogno Array

var number = new Number(5) // Single number. he will return just 5 

Si può provare somthing come questo per vedere come restituire gamma

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; 
} 

Per verificare se il ritorno è davvero l'uso nubmer Number.NaN

+4

Come si fa riferimento alla domanda? –

+0

Se hai letto la domanda, vuoi tornare linea di numeri Se conosci il post più comune – Ivan

+2

Se hai letto la domanda avresti visto che vuole la riga del codice all'interno di un Ace Editor. Ripeto la mia domanda: ** come è correlato alla domanda? * * –