一个人可以用创建一个原始字符串
String raw = r'\n\n\n';
但是如何将该原始字符串解释为普通字符串?在这种情况下,它将是三个换行符。
我可以用一个接一个地替换字符
String unRaw = raw.replaceAll(r'\n', '\n');
但是不幸的是,我必须在每个转义序列中都这样做,这容易出错。
上下文:我通过文本字段从用户那里获取原始字符串,并希望将其解释为普通字符串。
答案 0 :(得分:1)
我认为没有直接方法可以执行此操作,请检查this。有第三方package声称愿意这样做。
但是,我认为可以通过在您的案例中使用jsonDecoder
来解决此问题。
jsonDecoder
也可以解码字符串,因此构造一个原始json,然后对其进行解码以获取您的字符串。
示例:
import 'dart:convert';
main(){
String value = r'a\nb';
print(value); // prints raw string
value = jsonDecode(r'{ "data":"'+value+r'"}')['data']; // converted to escaped string
print(value); // prints a & b in different lines
}
希望有帮助!