SORU
9 Kasım 2009, PAZARTESİ


String.replaceAll çift ters eğik çizgi ile bölü

String \\something\\ replaceAll ama her türlü hataları alıp duruyorum kullanarakString \something\ convert etmeye çalışıyorum. Bu çözüm düşündüm:

theString.replaceAll("\\", "\\\\");

Ama bu durum, aşağıdaki verir:

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1

CEVAP
9 Kasım 2009, PAZARTESİ


String#replaceAll() regular expression bir bağımsız değişken olarak yorumlar. \ kaçış karakteriher ikisi deString regex. Çift kaçış düzenli ifade için:

string.replaceAll("\\\\", "\\\\\\\\");

Ama ille sadece-karakter-karakter aynısından istiyorum çünkü bunun için düzenli ihtiyacın yok ve desenler burada gerek yok. String#replace() yeterli olacaktır:

string.replace("\\", "\\\\");

Güncelleme: yorumlar başı olarak, JavaScript bağlamda dize kullanmak istiyor gibisin. Belki de daha iyi StringEscapeUtils#escapeEcmaScript() yerine daha çok karakter karşılamak için kullanmak istiyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Wills

    David Wills

    31 Aralık 2007
  • MobileTechReview

    MobileTechRe

    6 HAZİRAN 2008
  • SoundHound

    SoundHound

    8 Mart 2006