2015-08-13 32 views
5

çok garip:

($') 

Ama sonuç aslında:

"(?)".replace("?", "$'") 

Beklentim olan

()) 

Kodumu nasıl düzeltebilirim?

cevap

6

Sen $' için değiştirmek istiyorsanız $' özel yedek deseni olduğu için $$' kullanmanız gerektiğini

Eşleşen alt dizeyi izleyen dizenin bölümünü ekler.

Mevcut tüm modeller şunlardır: a "$" ekler $$

.

$ &: Eşleşen alt dizgiyi ekler.

$: Eşleşen alt dizeden önce gelen dizenin bölümünü ekler.

$ ': Eşleşen alt dizeyi izleyen dizenin bölümünü ekler.

$ n veya $ nn: n veya nn ondalık basamaklar olduğunda, ilk bağımsız değişken bir RegExp nesnesi olması koşuluyla, parantez içine alınmış eşleştirme dizesini ekler.`

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/replace

+0

Değiştirme bir değişken ise, herhangi bir $ karakter olup olmadığını bilmiyorum. Her değiştirme için $ tüm $ değiştirmeli miyim? – vietean

+0

Eğer '$ 'karakterini özel patten olarak kullanmak yerine,' $$ ' –

+1

@ vietean' ı kullanmanız gerekir. Sorunuzu doğru bir şekilde anladığımdan emin değilim, ancak ne zaman bir _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ $ _ $ _ $ bir dolar işareti 'replace' işlevinin ikinci argümanı olarak her zaman '$$' kullanın. Sadece bir '$$' güvenli bir şekilde bu şekilde tek bir '$' oluşturur. – Xufox

4

Sen

"(?)".replace("?", "$$'") 

$' özel yedek deseni (Eşleşen alt dizeden önce gelen dize bölümünü nserts.) Ve $ kullanarak kaçan gerekmektedir gerekir. Eğer yedek dizede tüm $ değiştirmek istemiyorsanız bir kaçış Sıra

olmadan Bu Nasıl Yapılacak


, ayrıca yapabilirdi

"(?)".replace("?", function() { return "$'" }) 

gibi bir şey Yani bir işlev (ikinci dizgede gerekli olan değiştirme dizgisini döndürür) ikinci parametre olarak kullanılır.

işlevin sonucu (dönüş değeri) https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter Bkz yedek dize olarak kullanılacaktır. (Not:. Yukarıda belirtilen özel yedek desenler bu durumda geçerli değildir)

+0

' .Kapağı ('aşağıdaki' önce gelir '). – Xufox

+0

Değiştirme bir değişken ise, herhangi bir $ karakter olup olmadığını bilmiyorum. Her değiştirme için $ tüm $ değiştirmeli miyim? – vietean

+0

Evet, tam olarak ne deniyorsunuz? Daha kolay bir şey olabilirdi. – potatopeelings

İlgili konular