如果我打印一个原始字符串,例如
String raw = r'\n\n\n';
print('Output: $raw');
// Output: \n\n\n
我恰好得到了这些角色。但是我该怎么做才能获得三个空行,即对原始字符串进行转义?
我可以用一个接一个地替换字符
String unRaw = raw.replaceAll(r'\n', '\n');
但是不幸的是,我必须在每个转义序列中都这样做,这容易出错。
上下文:我通过文本字段从用户那里获取了原始字符串,并希望将其解释为普通字符串。
我认为没有直接方法可以执行此操作,请检查此。有一个第三方软件包声称可以做到这一点。
但是,我认为可以在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
}
希望有帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句