2011-07-27 20 views
2

私はjavascriptで作業しています。javascript replace関数にいくつか問題があります。 は、ここに私のコードです:Javascript replace not working

var jpgPath ="../Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish  
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish  
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish 
/Pdf/Publish_27Jul2011_04-47-09_PM/adfm20100013512.jpg"; 

jpgPath = jpgPath.replace("..", "../.."); 

が、それは「../は..」、それは最初の試合を交換だと「..」のすべての発生を置き換えていないと、それは他の試合を無視し、その後。

答えて

7

は、最初のパラメータとして

jpgPath = jpgPath.replace(/\.\./g, "../.."); 
0

をグローバルフラグを持つ正規表現を渡し、次の試してみてください。

jpgPath = jpgPath.replace(/../g, ”../..”); 
0

実行jpgPath = jpgPath.replace(/\.\./g, "../..");代わりに。

0

それを行うには、正規表現とg(グローバル)演算子を使用する必要があります:

// because . is a special character in regex, you need to escape it 
jpgPath = jpgPath.replace(/\.\./g, "../.."); 
0

はこれを試してみてください。

var jpgPath ="../Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/[email protected]/Publish/Pdf/Publish_27Jul2011_04-47-09_PM/adfm20100013512.jpg"; 

jpgPath = jpgPath.replace(/\.\./g, "../.."); 

console.log(jpgPath); 

http://jsfiddle.net/t8Wp8/