2009-02-04 14 views
7

vorrei fare effettuare le seguenti operazioni in Javascript (pseudo codice):Javascript ricerca e sostituzione

myString.replace(/mypattern/g, f(currentMatch)); 

che è, sostituire stringa non è fisso, ma la funzione di partita in corso.

risposta

6

MDC sostiene che si può fare proprio questo:

function styleHyphenFormat(propertyName) 
{ 
    function upperToHyphenLower(match) 
    { 
    return '-' + match.toLowerCase(); 
    } 
    return propertyName.replace(/[A-Z]/, upperToHyphenLower); 
} 

O più genericamente:

myString.replace(/mypattern/g, function(match){ 
    return "Some function of match"; 
}); 
+0

MDC è stata la mia prima scelta, ma era giù quando ho provato a vederlo. Altri siti che ho trovato avevano solo semplici esempi di sostituzione. – Slartibartfast

+1

Questo è stato introdotto in JavaScript 1.3. I vecchi documenti JS di Netscape 4 possono essere utili per controllare i costrutti JavaScript perché quasi tutti costituiscono JS di vecchia scuola con "DOM Level 0" che sarà supportato ovunque. vedi ad es. Specchio di Sun su http://docs.sun.com/source/816-6408-10/contents.htm – bobince

Problemi correlati