Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    78

    Cercare e sostituire stringhe.

    So che argomenti simili sono già stati trattati e cercando sul forum ho imparato diverse cosette utili, ma ancora non riesco a risolvere questo problema:

    in una stringa trovare TUTTE, compreso inizio stringa, le occorrenze della sequenza 'abc', qualsiasi cosa la preceda TRANNE le virgolette (insomma deve ignorare solo le occorrenze "abc )

    sostituire le sequenze abc così trovate:

    con 'xyz' se 'abc' è a inizio stringa o preceduto da uno spazio

    con ' xyz' se 'abc' è preceduta da altro

    Ringrazio anticipatamente per l'attenzione chiunque può dedicarmi qualche minuto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    78
    Sono riuscito a risolvere così, se a qualcuno interessa. Se poi avete metodi più eleganti da suggerirmi, ben vengano:

    codice:
    var re = /^abc/g
    
    var sost_stringa = "xyz";
    
    stringa = stringa.replace(re, sost_stringa);
    
    var stringa_sub = "";
    
    var stringa_finale = "";
    
    var ins_stringa = stringa;
    
    for (var j=0 ; j<ins_stringa.length; j++) {
    
       var salta = false;
    
       var check = false;
    
       if (ins_stringa[j]!="\"" && ins_stringa[j]!=" " && ins_stringa[j+1]=="a" && ins_stringa[j+2]=="b" && ins_stringa[j+3]=="c") {
             stringa_sub = ins_stringa[j]+" "+sost_stringa;
             check=true;
       }
    
       else if (ins_stringa[j]!="\"" && ins_stringa[j]==" " && ins_stringa[j+1]=="a" && ins_stringa[j+2]=="b" && ins_stringa[j+3]=="c") {
             stringa_sub = " "+sost_stringa;
             check=true;
       }
    
       else check = false;
    
       if (check==true) {
             stringa_finale = stringa_finale.concat(stringa_sub);
             j = j+4;
             salta = true;
       }
             
       if (salta!=true) stringa_finale = stringa_finale.concat(ins_stringa[j]);
    
    }
    
    stringa = stringa_finale;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.