gpt4 book ai didi

Firebase Firestore 换行命令

转载 作者:IT王子 更新时间:2023-10-29 07:12:54 26 4
gpt4 key购买 nike

我正在尝试使用换行命令在文本中创建新行。从这个问题看来,这是不可能的:New Line Command (\n) Not Working With Firebase Firestore Database Strings

现在还是这样吗?假设是这样,Flutter 是否提供任何具有与以下功能类似的方法来让我解决这个问题?

label.text = stringRecived.replacingOccurrences(of: "\n", with: "\n")

*更多背景:这是我在其中输入数据的 Firestore 字符串的图片。 Firestore string with line break

然后我使用 future builder 从 Firestore 调用它,然后将字符串(在本例中为注释)传递到另一个小部件。

return new SocialFeedWidget(
filter: false,
articleID: document['article'],
article_header: document['article_title'],
userName: document['author'],
spectrumValue: document['spectrum_value'].toDouble(),
comment: document['comment'],
fullName: document['firstName'] + " " + document['lastName'],
user_id: document['user_id'],
postID: document.documentID,
posterID: userID,
);
}).toList(),

在新的小部件中,我将其作为字符串传入,并通过文本小部件进行输入,如下所示:

new Text(
comment,
style: new TextStyle(
color: Color.fromRGBO(74, 74, 74, 1.0),
fontSize: 13.0,
),
),

当它出现时,它仍然在字符串中包含\n。 From the console

最佳答案

在大多数编程语言中,如果您在字符串中包含 \n,它会将这两个字符解释为(转义)序列,并且它实际上会存储一个具有 ASCII 代码 10 的不可打印字符。

但是,如果您在 Firestore 控制台的文档中按字面键入 \n,它会将确切的字面值存储在字符串中。所以这是两个字符 \n

这两个是不一样的。事实上,如果您想在大多数编程语言的字符串中输入两个字符的序列,您最终会得到 "\\n"。这是两个反斜杠:第一个开始转义序列,第二个表示它是文字 \,然后是文字 n

因此,如果您已将字面量的两个字符 \n 存储在一个字符串中,并且您希望在您的 Flutter 应用程序中将其显示为换行符,则需要将该字符串解码回单个字符串换行符。幸运的是,这很简单:

yourString.replaceAll("\\n", "\n");

例如,这是我刚刚在一个应用程序中测试的。我在 Firestore 控制台中的文档显示:

Literal two-character \n sequence in a document in the Firestore console

然后是我的代码:

var doc = await Firestore.instance.collection("weather").document("sf").get();
var weather = doc.data["condition"]
print(weather);
print(weather.replaceAll("\\n", "\n"));

第一个 print 语句,打印:

Sunny\nI think

第二次打印时:

Sunny

I think


有趣的事实:当我在 Flutter 中运行这段代码时:

Firestore.instance.collection("weather").document("test").setData({ 'condition': "nice\nand\nsunny" });

它在 Firestore 控制台中显示如下:

Unprintable newlines show as space in Firestore console

因此看起来字符串中不可打印的 \n 在控制台中显示为空格。我还没有找到在 Firestore 控制台中的字符串中输入换行符的方法。不过,API 会正确检索换行符,因此这只会影响 Firebase 控制台。

关于Firebase Firestore 换行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53827739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com