Proč tento regulární výraz nahrazuje odstranit symbol na začátku, ale ne na konci?

Snažím se odstranit apostrofy z tohoto řetězce:"'234324234234234236548723adf83287942'" .

Snažím se použít toto:

var specialId = otherSpecialId[0].trim().replace(/^[']*$/,'');

pokusit se získat "234324234234234236548723adf83287942" .

Ale zdá se, že to nedokážu rozlousknout. Jak odstraním apostrofy (' )?

Odpověď

Stačí použít ' samostatně s globálním modifikátorem:

var specialId = otherSpecialId[0].trim().replace(/'/g,'');

Případně, pokud jsou uvozovky vždy na začátku a na konci, nemusíte používat regulární výraz vůbec:

var specialId = otherSpecialId[0].trim().slice(1, -1);
  • slice() – Dokumenty MDN

„Někteří lidé, když se setkají s problémem, si myslí:„Já vím, budu používat regulární výrazy.“ Nyní mají dva problémy.‘ — Jamie Zawinski