2

这很容易,所以声明一个原始字符串

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

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

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

但不编译。我怎样才能做到这一点?

编辑:我需要逐字符读取字符串。所以我不想把 \" 读成一个字符 " 而是读成两个字符 \ 和 "

4

2 回答 2

1

如果您想在不解释转义字符的情况下读取文件,那么您需要readAsBytes,它将为您提供一个整数字符列表。然后,您可以检测反斜杠并引用为:

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

然后将所需的子字符串传递给字符串构造函数:

String goodString = new String.fromCharCodes(byteList.getRange(start, end));
于 2012-08-16T12:20:23.550 回答
0

原始字符串文字仍然是字符串。唯一的区别是原始文字中的所有内容都按原样接受,即没有转义序列。

例如,在普通(非原始)字符串中,字面量'a\nb'表示字母“a”、换行符、字母“b”;在原始字符串文字中,它表示字母“a”、反斜杠、字母“n”、字母“b”。

于 2012-08-15T23:25:54.737 回答