Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



replace pro více výrazů na jeden průchod?

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: replace pro více výrazů na jeden průchod?

Autor: peta1

7:31:16 15.08.2011

v php ano, v js jedine, jak psal roman.

s = s.replace(/<|>/, function(match) {
match = String.indexOf(match); // nebo pouzit unicode kod
arr = {60:'<',62:'>'};
if (arr[match]) {return arr[match];}
});

Citovat příspěvek

 

Re: replace pro více výrazů na jeden průchod?

Autor: roman.hocke

12:14:20 12.08.2011

Můžeš udělat:

[code]
s = s.replace(/<|>/, function(match) {

if (match == '<')
return '<';

if (match == '>')
return '>';

return '';
});
[/code]

Ale nepřijde mi to moc elegantnější :-) Faktem je, že se ten regexp kompiluje jenom jednou. Na druhou stranu, na ten replace co popisuješ, není potřeba regexp, stačilo by ti:

[code]
s=s.replace('<','<').replace('>','>');
[/code]

A to mi přijde dostatečně hezké.

Citovat příspěvek

 

replace pro více výrazů na jeden průchod?

Autor: kmail

11:06:58 12.08.2011

Lze reg. výrazem nahradit v jednom průchodu více výrazů?
Např. místo:
s=s.replace(//,'>');

udělat pouze jednou:
s=s.replace(/výrazy/,'náhrady');

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: