2012-08-15 112 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