2013-09-03 4 views
5

ho qualche testo:Action Script 3.0 sostituire tutte le occorrenze nella stringa multilinea

1. Lorem &laquo;ipsum&raquo; dolor sit amet, consectetur<br/> 
2. adipisicing &laquo;elit&raquo;, sed do eiusmod tempor<br/> 
3. incididunt ut &laquo;labore&raquo; et dolore magna aliqua.<br/> 

E voglio sostituire tutti "&amp;laquo;" a "&amp;#171;" e tutti "&amp;raquo;" a "&amp;#187;".

Questa sostituire solo in prima fila:

txt.replace(new RegExp("&amp;laquo;","gi"),"&amp;#171;").replace(new RegExp("&amp;raquo;", "gi"),"&amp;#187;"); 

altre righe ancora non modificati.

Cosa sto facendo male?

+0

dove si trova questa stringa multilined 'TextField' – Cherniv

+0

Scusate ragazzi, mi sbagliavo questa espressione funziona txt.replace (new RegExp ("& laquo;", "gi"), "& # 171;"). Replace (new RegExp ("& raquo; "," gi ")," & # 187; "); – Eldar

risposta

8

Fai la tua regex 'più righe':?.

new RegExp("&amp;laquo;","gim") 
1

uso questo

txt.split("&amp;laquo;").join("&amp;#171;").split("&amp;raquo;").join("&amp;#187;"); 

spaccatura rompe la stringa in un array di pezzi collegati da testo nel parametro. unisci i pezzi indietro in una stringa e inserisce il parametro tra ciascun pezzo: D

Nota che ogni metodo crea un array (i pezzi) o una stringa (i pezzi incollati insieme), quindi dovresti fare txt = txt. split (...