首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何:在TextFormField中键入时,每4个字符后添加一个空格

在TextFormField中键入时,每4个字符后添加一个空格,可以通过使用Flutter的TextEditingController来实现。

首先,创建一个TextEditingController的实例:

代码语言:txt
复制
TextEditingController _controller = TextEditingController();

然后,在TextFormField的controller属性中设置该实例:

代码语言:txt
复制
TextFormField(
  controller: _controller,
  onChanged: (value) {
    // 监听文本变化事件
    _formatText(value);
  },
),

接下来,编写一个函数来格式化文本,每4个字符后添加一个空格:

代码语言:txt
复制
void _formatText(String value) {
  String formattedText = value.replaceAll(RegExp(r'\s'), ''); // 去除所有空格
  formattedText = formattedText.replaceAllMapped(
    RegExp(r'.{4}'),
    (Match match) => '${match.group(0)} ',
  ); // 每4个字符后添加一个空格
  _controller.value = _controller.value.copyWith(
    text: formattedText,
    selection: TextSelection.collapsed(offset: formattedText.length),
  ); // 更新TextEditingController的值和光标位置
}

这样,当在TextFormField中键入时,每输入4个字符就会自动添加一个空格。

关于TextFormField的更多信息,你可以访问腾讯云Flutter开发文档中的相关页面: TextFormField - 腾讯云Flutter开发文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

html中空格的写法

方法1:使用键盘,键入空格 html页面中,我们可以通过键入“空格”键来插入空格。 例:p.p1中键一个空格p.p2中键入5个空格。... 效果图: 可以看出,无论我们HTML中是键入1个空格或者5个空格,还是其他多个空格,Web浏览器都会自动将这些空格折叠为仅一个空格。 那么我们如何显示多个键入的空格?...方法2:使用html的空格符 我们可以使用html中表示空格的字符实体来html页面中插入空格,下面我们来看看在html中表示空格的字符实体有哪些:  字符:不断行的空白格,该空格占据的宽度受字体影响...(一个字符宽度)。... 字符:相当全角状态键入半个“空格”键(半个汉字的宽度,一个字符宽度)。  字符:相当全角状态键入“空格”键(1个汉字的宽度,两个字符宽度)。

2.2K20

Android EditText追加空格、限制字符等方法示例

追加字符 借鉴博客EditText4位自动添加空格 import android.content.Context; import android.text.Editable; import android.text.TextUtils...* @param start 改变之后的光标下标 * @param before 删除了多少个字符 * @param count 添加了多少个字符 */ @Override public void onTextChanged...public void setTextChangeListener(TextChangeListener listener) { this.listener = listener; } /** * 4...位添加一个空格 * * @param content * @return */ public String addSpaceByCredit(String content) { if (TextUtils.isEmpty...return */ public String getInputText() { return getText().toString().replaceAll(item, ""); } }   核心思路是文本改变时获取到原字符串取出每一个字符添加上要追加的字符返回字符串并重新

2.1K10

分享 8 个 VSCode 插件,提升你的编码体验

本文中,我们将探讨我个人使用的八个扩展,以优化我的编码体验。让我们来看看这些扩展的列表,亲自体验它们如何改善你的编码体验。 我们改变了我们的工具,然后我们的工具改变了我们 — 杰夫·贝佐斯 1....尽管它是一个相对较新的扩展,但已经有超过800万的安装量。这个扩展不仅可以提升你的编码体验,还能显著提高你的工作效率。我强烈推荐你试用一下这个扩展,看看它如何改善你的编码体验。...该扩展使得查找正确的文件路径变得轻而易举,因为它为文件名添加了自动完成功能。您输入时,它会为文件和文件夹提供建议,节省您的时间并避免错误。 4. GitLens GitLens扩展不能被忽视。...您的代码将会被格式化,包括空格、换行和引号的一致性。甚至可以每次保存代码时自动运行Prettier。 这个扩展程序已经安装了超过3500万次,毫无疑问是一个明智的选择。 6....如果你重命名了一个开标签,它会相应地更改对应的闭标签。反之亦然。 我将这个扩展与自动关闭标签扩展一起使用。当在开标签的闭合括号中键入时,该扩展会自动添加闭合标签。

58510

Python 部分系统类的常用方法整理

) 统计x列表中出现的次数 index(x, [start, end]) 返回x列表中第一次出现的下标(指定开始位置(包括)与结束位置(不包括)) remove(x) 将列表中第一个与x匹配的项删除...4, 5] # 取下标1至下标4之间的数字,包括1,不包括4([1, 2, 3]) lists[1:4] # 取下标1至-1的值,不包括-1([1, 2, 3, 4]) lists[1:-1] # 效果与...isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。...split(sep=None, maxsplit=-1) 不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片的子字符串拼接的列表...a的值,若不存在返回b(默认None) setdefault(a, [b]) 返回字典中键为a的值,若不存在将 a:b 添加进字典(默认a:None) clear() 清空字典 copy() 将字典拷贝一份

1.1K20

ue4地编教程_编绳方法

碰撞体模型名称就是:UCX_SM_Hous 2、导出碰撞体 导出:选择模型和碰撞体模型,然后导出为一个FBX文件。 导入UE4:导入时把【自动生成缺失碰撞体】去掉。...– 导入UE4设置 1、导入: 2、导入设置 (二)导出UE4资产设置 – 导出关卡场景里的模型 选择关卡场景里的模型,然后【文件菜单】里选择【导出选中项】。...– 从资产文件夹中导出资产 模型文件上右键选择导出资产 – 迁移资产 (三)其他软件导入UE4设置 – 从3D MAX出设置 导出之前必须先检查模型的名字、光滑组、法线、坐标、单位等信息,然后重置模型导出...): 公告板就是蓝图类里给该蓝图类添加一个图标。...作用是关卡场景里方便选择到物体(直接点图标),如一些透明物体。 添加组件里搜索【加公告板】,并添加。 选择公告板,可以自定义精灵图标。

1.4K10

Mark Down Pad2 windows 10 下的安装注册以及 Mark Down Pad2 报错分析

Mark Down Pad是Windows下的一个多功能Makrdown编辑器。即时看到你的Makrdown文件,当你创建它们的时候,看起来就像是HTML中的一样。...2.Win10系统上安装 Mark Down Pad2 ,刚安装完打开一个文件时报错: 如下图所示: ?...您可能会看到一条错误消息如此处所示, 当您在降价编辑器窗格中键入时, 将不呈现任何 HTML。 要解决此问题, 请尝试安装Awesomium 1.6.6 SDK....解决办法就是:需要下载 一个 awesomium_v1.6.6_sdk_win 按照提示安装,安装成功问题就解决了。   ...- 我是第一行 - 我是第二行 * 我是第三行 * 我是第四行 注意:- * 等符号要和文字之间加上一个字符空格!   B.有序列表 直接在文字前加1. 2. 3.

73510

实验三 序列数据处理程序设计

(1)find函数:检测字符串是否包括子字符串;(2)index函数:检测字符串是否包括子字符串;(3)count函数:统计字符串中某个字符的个数;(4)replace函数:将旧字符串替换为新字符串;(...;(13)center:返回一个指定的宽度 width 居中的字符串;(14)lstrip:截掉字符串左边的空格或指定字符;(15)rstrip:截掉字符串右边的空格或指定字符;(16)strip:截掉字符串左右边的空格或指定字符...列表中增加元素的方式有多种,具体如下:(1)通过append可以向列表添加元素;(2)通过extend可以将另一个列表的元素添加到列表中;(3)通过insert指定位置index前插入元素object...字典包括以下几种常见的操作:(1)根据键访问值;(2)修改字典的元素;(3)添加字典元素;(4)删除字典元素;(5)计算字典中键值对的个数;(6)获取字典中键的列表;(7)获取字典中值的列表;(8)计算字典中键值对的个数...用户输入一个字符串,将下标为偶数的字符提出来合并成一个新的字符串A,再将下标为奇数的字符提出来合并成一个新的字符串B,再将字符串A和B连接起来并输出。

1.9K20

PHP常用系统内置函数,收藏以后别折磨自己写函数类了

$array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4); //print_r($array); //剔除字符串左边开头的空格,并返回 //如有第二个参数则是剔除左边开头的空格换成剔除第二个参数里的字符串...结尾最后一个字符算-1,截取方向总是从左到右 $str=substr("abcdefgh",0,4); //将第三个参数的第一个参数字符串用参数二字符串替换 $str=str_replace("a","...$int=substr_count("abcdeabcdeablkabd","ab"); //返回第二个字符一个字符串第一次出现的位置,第一个字符位置算0 $int=strpos("asagaab...","ab"); //返回第二个字符一个字符串最后一次出现的位置,第一个字符位置算0 $int=strrpos("asagaabadfab","ab"); //截取返回参数一中从左至右第一个出现的参数二到参数一最后一个字符的字符串...0 $int1=strcmp("b","a"); //返回第一个参数格式化的数字格式,第二个参数为保留几个小数,参数三为将小数点换成参数三,参数四为整数部分三位用什么字符分割 //后面三个参数都不写

1.2K90

python 5.1单一函数针对列表、数组、字符串

字典方法 dic.clear() #删除字典中所有项 dic.copy() #复制列表中所有项 dic.fromkeys(S[,v]) #新建字典,键为S,值为v,如果S为长字符串,返回的键为字符串中的每一个字符...dic.get(k[,d]) #获取字典中指定键的值,如果k不属于字典中的键,则返回None dic.has_key(k) #返回字典中是否包含键k dic.items() #返回字典中的索引键值,一对键值存放在元组中...string.capitalize() #返回元字符串,且将字符串第一个字母转为大写 string.center(width[, fillchar]) #将字符串中心化处理,两边用一个字符表示(切记非字符串...可以通过start和stop参数设置搜索范围 string.expandtabs(tabsize) #将字符串中(tab符号)\t转换空格,默认一个tabsize为8个字符 例: str = "this...,如果没有匹配的字符串会报异常,可以通过start和stop参数设置搜索范围 string.rjust() #返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。

1.4K100

【Flutter 组件集录】Autocomplete 自动填充

其作用就是入时,进行 关键字联想。输入框下方展示列表,如下所示:注意,这是目前 Flutter 框架内部的组件,非三方组件。...所以了解如何自定义是非常关键的,否则只是一个玩具罢了。如下,我们先来实现搜索高亮显示的自定义,其中也包括对输入框的自定义。...这样, TextFormField 构建时,你可以指定自己需要的装饰。 到此,我们就实现了上面,输入过程中,浮层面板内容关键字高亮显示的效果。...这样 _buildOptionsView 中,回调的就是 User 的可迭代对象。如下。封装一个 _UserItem 组件,对条目进行显示。...该方法,返回 _AutocompleteField 组件,本质上也就是构建了一个 TextFormField 组件。

1.4K20

c语言输入输出格式

第四行的输出语句格式控制串中,两格式串%d 之间加了一个空格(非格式字符),所以输出的a,b值之间有一个空格。...scanf语句的格式串中由于没有非格式字符“%d%d%d”之间作输入时的间隔,因此入时要用一个以上的空格或回车键作为两个输入数之间的间隔。...如果在格式控制中加入空格作为间隔,如 scanf ("%c %c %c",&a,&b,&c);则输入时各数据之间可加空格。...键盘输入函数 getchar函数getchar函数的功能是从键盘上输入一个字符。...输入多于一个字符时,只接收第一个字符。 2.使用本函数前必须包含文件“stdio.h”。 3.TC屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入。

2.9K20

Python 自动化指南(繁琐工作自动化)第二版:六、字符串操作

您已经知道如何用+操作符将两个字符串值连接在一起,但是您可以做得更多。您可以从字符串值中提取部分字符串,添加或删除空格,将字母转换为小写或大写,并检查字符串的格式是否正确。...bulletPointAdder.py脚本将从剪贴板获取文本,一行的开头添加一个星号和空格,然后将这个新文本粘贴到剪贴板。...在这个字符串值中有许多“行”。您需要在一行的开头添加一个星号。 您可以编写代码来搜索字符串中的每个\n换行符,然后在其后添加星号。...但是使用split()方法返回一个字符串列表会更容易,原始字符串中的一行都有一个字符串,然后列表中的每个字符串前面加上星号。 让您的程序看起来像下面这样: #!...我们将列表存储lines中,然后遍历lines中的项目。对于一行,我们在行首添加一个星号和一个空格。现在lines中的每个字符串都以一个星号开始。

3.2K30

《Python 快速入门》一千个程序员有一千套编码规范

-- 不吃西红柿 目录 1、分号 2、命名 3、行长度 4、缩进 5、空行 6、空格 7、类 8、块注释和行注释 9、字符串 10、导包 【总结】 1.命名 2.空白 3.语句 4.注释 ---- Python..., 可以使用圆括号来实现隐式行连接: x = ('这是一个非常长非常长非常长非常长 ' '非常长非常长非常长非常长非常长非常长的字符串') 4、缩进 用4空格来缩进代码 绝对不要用tab,...对于不是一目了然的代码, 应在其行尾添加注释....4空格表示 赋值时等号两边都要有一个空格 一行所占用的字符数应不超过79,实际操作中应当尽量不让代码编辑器的行滚动条显示出来 使用函数进行函数式编程时,函数之间要空两行 类中的函数,函数之间应该空一行...函数与类是同一个级别,则他们之间应该空两行 对于超出每行规定的字符数的长表达式,应当敲回车缩进,通常除了首行其余各行都要在原来的基础上再次缩进4空格 3.语句 判断变量是否为None、False或True

53610

C语言每日一题(68)无重复字符的最长字串

题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度。...示例 4: 输入: s = "" 输出: 0 提示: 0 <= s.length <= 5 * 104 s 由英文字母、数字、符号和空格组成 思路分析 知识点:滑动窗口 解析: 这也是一道经典的滑动窗口题...,事实上滑动窗口模板是非常固定的,无非就是进窗口出窗口,然后判断条件,更新结果,一道题的不同点都是在这四个方面。...1.首先如何判断我们取得的字串内有重复字符,利用哈希表,将每一个进窗口的字符进入哈希表,每当新字符进入时就判断一下哈希表上对应的值是否存在。...2.如果存在的话,此时就要出窗口,将left不断右移,右移一个,就将对应字符的哈希表减1,直到重复字符的哈希表值为1即可。 3.此时更新结果。

8710

Java中的Scanner用法解析

一、Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。...简介 Scanner类是java.util包中的一个类 作用 常用于控制台的输入,当需要使用控制台输入时即可调用这个类 二、Scanner类的用法 使用方法 1、首先需要构造一个...也可以输入一组数字,例如:“123 456 789”,每个数字之间用空格一个或多个空格)隔开,可被多个nextInt()读取,空格及回车不会被读取。...3、next()方法遇到第一个扫描有效字符,即第一个空格非换行符后面开始,一直获取到下一个空格,换行符之前的,单个字符串。...4、nextLine()可以扫描到一行内容(当前行,光标所在行的内容,包括空格、回车)并作为一个字符串而被获取到。

1K30

嘘……这些bash命令鲜为人知,但是非常有用!

您还会注意到我 . 之后添加一个空格What is your name?。如果我们不添加它,它实际上会What is your name?...没有空格的情况下打印,这会使用户入时看起来有点奇怪: [202203211128061.png] Mapfile:为变量分配文件行的值 您可以使用该mapfile命令读取文件的内容,然后将该输出分配给...例如,让我们创建一个名为的文件file.txt,其中包含以下文本: Line 1 Line 2 Line 3 Line 4 Line 5 您可以通过运行以下命令将此文件转换为Bash 数组,它将文件的内容分配给...这可以通过使用 source 命令非常简单地完成: source config.sh 然后,您可以检查变量是否按预期分配 实际上,该source命令实际上您当前的 shell 环境中运行指定的文件,因此该文件中键入任何命令实际上会导致它们在运行时被执行...随时在下面的评论中留下任何一个

51100

《Linux命令行与shell脚本编程大全》第十九章 初识sed和gawk

命令可以从命令行输入,也可以存储一个命令文本文件中。...sed命令格式如下: sed options script file 选项允许修改sed命令的行为,可以使用的选项在下表: 选项        |  描述 -e script  |  处理输入时,将script...中指定的命令添加到已有的命令中 -f file       | 处理输入时,将file中指定的命令添加到已有的命令中 -n            | 不产生命令输出,使用printf命令来完成输出 一般是单个命令...处理数据运行脚本 跟BEGIN蕾西,还可以指定在读取完数据执行的脚本。...inchars的第一个字符会被转换成outchars的第一个字符 inchars的第二个字符会被转换成outchars的第二个字符 以此类推。

1.9K50

Java中.next()和.nextLine()的区别「建议收藏」

String s1,s2; Scanner sc=new Scanner(System.in); System.out.print(“请输入第一个字符串...,两个单词前后各有4空格) ② next()输入有效字符之后,将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。...nextLine()方法的结束符只是Enter键 交换上述两个字符串的next和nextLine 运行结果图 (输入时,两个单词前后各有4空格) nextLine()自动读取了被next()去掉的...解决的办法是: 一个 next()、nextDouble() 、nextFloat()、nextInt() 等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符过滤掉。...,两个单词前后各有4空格) 参考资料:http://jingyan.baidu.com/article/9f63fb91ad6cbfc8400f0e82.html 发布者:全栈程序员栈长,转载请注明出处

39530

C语言:字符串详解

时输入输出如下表示: input a string:abc124a abc124a 当输入是123 abc时输入输出如下表示: input a string:123 abc 123 注意:把一个字符数组看成字符串...用%s读入时,表示需要读入一个字符串到字符数组中,遇到第一个空格或回车,读入即停止。读入时还需要特别注意的是定义的字符数组的长度应该要大于读入数据的长度。...那么要怎么样才能把具有空格的字符串读入到数组中呢,比如要保存”I love this game”这个字符串,应该怎么做?...实例:程序功能:把一个字符串中的数取出来,构成一个整数。...2) 字符串输入函数gets 格式: gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。 本函数得到一个函数值,即为该字符数组的首地址。

2.5K20
领券