Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅删除TextField中没有文本的行?_Text_Flutter_Dart_Textfield - Fatal编程技术网

如何仅删除TextField中没有文本的行?

如何仅删除TextField中没有文本的行?,text,flutter,dart,textfield,Text,Flutter,Dart,Textfield,我有一些包含多个空行的输入文本,在将其放入文本字段之前,我只想删除没有文本的行 例如: Hello, how are you? // empty line // empty line With you? 我想要的是: Hello, how are you? With you? 如何删除空行?您要做的是在传入文本字段之前修改传入文本字段的文本 Dart有一个方法可以实现这一点,并接受正则表达式: 这看起来像: myinputstring.replaceAll(new RegExp(r'(?:[

我有一些包含多个空行的输入文本,在将其放入文本字段之前,我只想删除没有文本的行

例如:

Hello, how are you?
// empty line
// empty line
With you?
我想要的是:

Hello, how are you?
With you?

如何删除空行?

您要做的是在传入文本字段之前修改传入文本字段的文本

Dart有一个方法可以实现这一点,并接受正则表达式:

这看起来像:

myinputstring.replaceAll(new RegExp(r'(?:[\t ]*(?:\r?\n|\r))+'), '\n');
尽管您可能需要修改正则表达式。正则表达式所做的是查找两个或多个换行符的任意序列(同时处理\r\n和\r\n两个换行符),然后将其替换为单个换行符(同样,您可能希望将其更改为\r\n或\r)

另一种方法是使用split和join

myinputstring
    .split(new RegExp(r'(?:\r?\n|\r)'))
    .where((s) => s.trim().length != 0)
    .join('\n');
这一次,我们只是在任何新行上拆分,然后检查中间经过修剪(以消除空白)的部分是否为空,以及它们是否忽略它们,然后重新连接字符串


请注意,出于性能原因,最好构造regex对象,将其保存到其他位置(即常量),然后在replaceAll中使用它。我不是100%确定dart中regex的性能特征,所以它可能很好;就我的Java背景而言,这始终是推荐的方法。

你能分享一下你正在寻找的东西的截图吗?嗨@vagner willian!我修改了你的问题,因为它本可以更清楚,这就是为什么你开始获得-1和接近票。如果你能确认我写的东西确实是你想要的,而且我没有曲解那会很好=)我是巴西人,我用谷歌翻译。很抱歉工作完美!!!如果我对这个问题不是很清楚,我道歉,因为我是巴西人,我不懂一点英语。非常感谢你!!!别担心,每个人的英语水平都不尽相同,但有些问题确实会在不应该的时候被解决,因为它们不完全清楚。很高兴我能帮忙()