2012-08-15 161 views
0

它是容易的,這樣聲明一個原始字符串將字符串轉換爲原始字符串

String raw = @'\"Hello\"'; 

但我怎麼能一個現有的字符串轉換爲原始字符串?
這可以與文件讀取或ajax調用:我想讀取文件作爲原始字符串,但readAsText方法給我一個沒有原始字符串。
我tryied東西一樣:

String notRaw = '\"Hello\"'; 
String raw = @raw; 

但不進行編譯。 我該怎麼做?

編輯:我的需要是通過char讀取字符串char。所以我不想把「作爲一個字符」看成是「兩個字符」,而是「

回答

1

如果你想讀取一個沒有解釋轉義字符的文件,那麼你需要readAsBytes,它會給你一個整數字符列表,然後你可以檢測一個反斜槓並引用爲:

final int backSlash = @'\'.charCodeAt(0); 
final int quote = @'"'.charCodeAt(0); 

然後,您可以通過所需的子爲字符串構造函數:

String goodString = new String.fromCharCodes(byteList.getRange(start, end)); 
+0

的確,我已經閱讀了charCode。 現在它的工作! 謝謝。 – 2012-08-16 15:21:15

0

原始字符串文字仍然是一個字符串,唯一的區別是原始文字中的所有內容都被接受爲原樣,即沒有轉義序列

例如,在一個普通的(非原始)字符串文字'a\nb'代表字母'a',換行符,字母'b';在原始字符串文字中它代表字母'a',反斜槓,字母'n',字母'b'

+0

是的,這就是爲什麼我需要一個原始字符串。事實上,我試圖通過char字符來解析字符串。所以在閱讀時「,而不是閱讀」我需要閱讀「和」 – 2012-08-16 06:39:10