2013-06-27 7 views
5

Esiste un metodo di utilità Scala generale che converte una stringa in stringa letterale? La semplice funzione lambda "\"" + _ + "\"" funziona solo per le stringhe senza caratteri speciali.Come posso evitare simboli speciali nella scala di scala?

Ad esempio, la stringa \" (lunghezza 2) deve essere convertita nella stringa "\\\"" (lunghezza 6).

risposta

4

Dai un'occhiata alla classe StringEscapeUtils di Apache Common (docs here). escapeJava dovrebbe portare a termine il lavoro.

Dai un'occhiata a this example per vederlo in azione (in Java).

7

Avvolgere la corda con 3 citazioni per rappresentare così com'è ..

esempio val str = """ \" """ // str : java.lang.String = \"

+0

Ciò non mi aiuta, ho bisogno di generare una stringa letterale a * runtime *. – fredoverflow

+1

ohh .. Quindi prolly 'StringEscapeUtils' come suggerito da Malte Schwerhoff dovrebbe essere .. :) – Shrey