Flutter 将原始字符串转换为字符串
如果我打印一个原始字符串,例如Flutter 将原始字符串转换为字符串,flutter,dart,Flutter,Dart,如果我打印一个原始字符串,例如 stringraw=r'\n\n'; 打印(“输出:$raw”); //输出:\n\n\n 我得到的正是这些字符。但是我必须做些什么才能得到三条空行,也就是说,去掉原始字符串 我可以用 String unRaw=raw.replaceAll(r'\n','\n'); 但不幸的是,我必须对每个转义序列都这样做,这很容易出错 上下文:我通过文本字段从用户处获取原始字符串,并希望将其解释为普通字符串。我认为没有直接的方法来执行此操作,请检查。有第三方声称这样做 然而
stringraw=r'\n\n';
打印(“输出:$raw”);
//输出:\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
}
希望有帮助 “解释为普通字符串”是什么意思?您是否有任何警告/错误?所谓“解释为普通字符串”,我的意思是Dart将字符串的特殊字符解释为特殊字符,而不是普通字母。例如,当我打印原始字符串时,实际上得到的是字符“\n\n\n”而不是三个空行,但我需要这些空行。不,没有警告或错误。