很容易声明原始字符串
String raw = @'\"Hello\"';
但是如何将现有字符串转换为原始字符串?
这可以带有文件读取或ajax调用:我想将文件作为原始字符串读取,但readAsText
方法给我一个无原始字符串。
我尝试过这样的事情:
String notRaw = '\"Hello\"';
String raw = @raw;
但不是编译。 我怎么能这样做?
编辑:我需要通过char读取字符串char。所以我不想读“作为一个字符”,而是作为两个字符\和“
答案 0 :(得分:1)
如果要在不解释转义字符的情况下读取文件,则需要readAsBytes
,这将为您提供整数字符列表。然后,您可以检测到反斜杠并引用为:
final int backSlash = @'\'.charCodeAt(0);
final int quote = @'"'.charCodeAt(0);
然后将所需的子字符串传递给字符串构造函数:
String goodString = new String.fromCharCodes(byteList.getRange(start, end));
答案 1 :(得分:0)
原始字符串文字仍然是一个字符串。唯一的区别是原始文字中的所有内容都按原样接受,即没有转义序列。
例如,在普通(非原始)字符串中,'a\nb'
代表字母'a',换行符,字母'b';在原始字符串文字中,它表示字母'a',反斜杠,字母'n',字母'b'。