如何将列表转换为字符串并保存它的引号?

Posted

技术标签:

【中文标题】如何将列表转换为字符串并保存它的引号?【英文标题】:How to cast list to string and save it's quotes marks? 【发布时间】:2021-10-10 04:42:14 【问题描述】:

我有清单:

List list = ['aa', 'bb', 'cc'];

我需要获取字符串:

"['aa', 'bb', 'cc']"

.toString() 我得到了:

[aa, bb, cc]

【问题讨论】:

***.com/q/56443354/2804581 【参考方案1】:
List list = ['aa', 'bb', 'cc'];
var str = '"$list.map((s) => "'$s'").toList()"';

var str = '"[\'' + list.join("', '") + '\']"';

【讨论】:

【参考方案2】:

我建议使用来自dart:convertjsonEncode。 这意味着您的字符串将使用" 而不是' 进行引用,并且逗号后不会有漂亮的空格,但它也比尝试自己创建字符串更简单、更安全,这意味着您可以阅读使用jsonDecode返回列表。

非常方便,JSON 列表和字符串值看起来就像 Dart 列表和字符串文字。它还负责转义字符串中可能包含的任何嵌入的 "\ 字符。

var myList = ['aa', 'bb', 'cc'];
var string = jsonEncode(myList);
print(string); // ["aa","bb","cc"]

或者,只在字符串本身上使用jsonEncode

var string2 = [for (var s in myList) jsonEncode(s)].toString();
print(string); // ["aa", "bb", "cc"]

如果你想要 ' 引用的字符串,那么这样做可能更安全:

String myStringEncode(String content) =>
  "'$content.replaceAllMapped(RegExp(r"[\\']"), (m) => "\\$m[0]")'";
var string3 = [for (var s in myList) myStringEncode(s)].toString();
print(string3); // ['aa', 'bb', 'cc']

【讨论】:

以上是关于如何将列表转换为字符串并保存它的引号?的主要内容,如果未能解决你的问题,请参考以下文章

如何将'转换为javascript中的引号?

如何将列表的字符串表示形式转换为列表?

如何将列表的字符串表示形式转换为列表?

将列表转换为字符串[重复]

Python将列表中的字符串转换为数字

如何将带单引号的字符串转换为双引号以进行 json 解析