将字符串转换为原始字符串

时间:2012-08-15 23:06:14

标签: dart

很容易声明原始字符串

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

但是如何将现有字符串转换为原始字符串?
这可以带有文件读取或ajax调用:我想将文件作为原始字符串读取,但readAsText方法给我一个无原始字符串。
我尝试过这样的事情:

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

但不是编译。 我怎么能这样做?

编辑:我需要通过char读取字符串char。所以我不想读“作为一个字符”,而是作为两个字符\和“

2 个答案:

答案 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'。