2016-03-19 20 views
-2

Dizede tek bir ters eğik çizgi nasıl değiştirilir? Örneğin. windows yolu gibi bir dize alırsanız, tüm backslashes aşağıdaki karakterden kaçar. Ben karınca tarafında değiştirilmesi gerçekleştirirsenizTek ters eğik çizgiyi kaçan karakterlerden değiştirme

<macrodef name="resetproperty" > 
    <attribute name="name"/> 
    <attribute name="value"/> 
    <sequential> 
     <script language="javascript"> 
      <![CDATA[ 
      var path="@{value}"; 
      path=path.replace(/\\/g, "/"); 
      project.setProperty('@{name}',path); 
      ]]> 
     </script> 
    </sequential> 
</macrodef>; 

o JavaScript Eğer eğik zaten path tüm ters eğik çizgi yerini alacak sorunuzu verdi komuta

<propertyregex property="backslash" 
       input="${path}" 
       global="true" 
       regexp="\\" 
       replace="/" 
    /> 
+1

Bu soru kafa karıştırıcı. sizin değişken x göz önüne alındığında, istenen çıkış nedir? Bunun geçerli JS olduğunu sanmıyorum –

+0

. Bu "var x =" c: \\ a \\ xy \\ bn "; – cl3m

+0

@cale_b istenilen çıktı" c:/a/xy/bn "olmalıdır – StellaMaris

cevap

0

ile çalışır. Örneğin, @{value}c:\\a\\xy\\bn ise, path son değeri "c:/a/xy/bn" olacaktır.

Javascript'te ters eğik çizgileri göstermek için ters eğik çizgi kaçışlarının gerekli olduğunu unutmayın. Onları unutursanız, betiğiniz çalışmayacaktır. @{value} anlamıyla Firefox c:\a\xy\bn ise iyi durumda, (size bir hata verecektir veriyor:

SyntaxError: malformed hexadecimal character escape sequence 

Ama çoğu durumda

, JavaScript basitçe ters eğik çizgi karakterleri göz ardı eder ve tamamen farklı bir sonuç elde edecek Chrome'da. o senin path değişkende ne alırsınız böylece Firefox, "C:\Program Files\Internet Explorer", "C:Program FilesInternet Explorer" olur.

+0

lütfen düzenlemelerimi inceleyin. Bu dizgenin geçerli olup olmadığı değil. Bir karınca kaynağından geliyor ve ben değişkeni özelleştirmek istiyorum. – StellaMaris

+0

Bekleyin, şimdi sorunuz kendi yanıtını içerecek gibi görünüyor. Ters eğik çizgileri "path.replace" çizgisiyle değiştirirsiniz. Daha ne bilmek istiyorsun? –

+0

Üzgünüm, sorumu hala belirsiz. Buradaki nokta, değişken ya da daha çok öznitelik "değerinin" c: \ a \ xy \ bn 'değerine sahip olmasıdır. – StellaMaris

İlgili konular