Dart/Flutter工具模块:the_utils

Flutter笔记
Dart/Flutter工具模块:the_utils

作者李俊才 (jcLee95):https://blog.csdn.net/qq_28550263
邮箱 :291148484@163.com
本文地址:https://blog.csdn.net/qq_28550263/article/details/135775558
模块:https://pub.dev/packages/the_utils
或:https://pub-web.flutter-io.cn/packages/the_utils/install


目 录

  • 1.简介
    • 将此包用作库
      • 依赖项
      • 导入
  • 2.日期时间工具
  • 3.字符串工具
  • 更多


1.简介

The Utils一个 Dart 和 Flutter 工具库,提供编程中常用的工具函数,它在不断更新中。

其地址为:https://pub.dev/packages/the_utils
国内镜像站对应地址:https://pub-web.flutter-io.cn/packages/the_utils

将此包用作库

依赖项

运行以下命令:

使用 Dart:

 $ dart pub add the_utils

使用 Flutter:

 $ flutter pub add the_utils

这将在您的包的 pubspec.yaml 文件中添加以下一行(并隐式运行 dart pub get):

dependencies:the_utils: ^2.0.0

或者,您的编辑器可能支持 dart pub getflutter pub get。请查阅您编辑器的文档以获取更多信息。

导入

现在在您的 Dart 代码中,您可以使用:

import 'package:the_utils/the_utils.dart';

2.日期时间工具

例如:

import 'package:the_utils/the_utils.dart';void main(List<String> args) {var dt = DT('2023-12-01 06:50');dt.nextDay();dt.printDateTime();
}

输出为:

2023-12-02 06:50:00

你可以从代码注释上找到每一个方法的示例。

方法功能描述
DT(String dateTime)构造函数,使用字符串格式的日期时间初始化。
DT.synchronization()构造函数,使用系统当前日期时间初始化。
_parseDateTime(String dateTimeStr)从日期时间字符串构造 DateTime 对象。
lastDay()设置到昨天的同一时间。
nextDay()设置到明天的同一时间。
previousNDays(int n)设置到前 n 天的同一时间。
nextNDays(int n)设置到后 n 天的同一时间。
previousSecond()将当前时间回退一秒。
nextSecond()将当前时间前进一秒。
previousMinute()将当前时间回退一分钟。
nextMinute()将当前时间前进一分钟。
previousNMinutes(int n)将当前时间回退指定分钟数。
nextNMinutes(int n)将当前时间前进指定分钟数。
previousNSeconds(int n)将当前时间回退指定秒数。
nextNSeconds(int n)将当前时间前进指定秒数。
addTime(String timeStr)根据给定的时间字符串增加时间。
subtractTime(String timeStr)根据给定的时间字符串减少时间。
toString()返回 yyyy-MM-dd HH:mm:ss 格式的日期时间字符串。
printDateTime()打印日期时间字符串。
toDateString()获取日期字符串。
printDate()打印日期字符串。
toTimeString()获取时间字符串。
printTime()打印时间字符串。
get stamp获取当前时间的时间戳。
printStamp()打印当前时间的时间戳。
run(List<String> timeStrings, Function callback)根据指定的时间字符串运行回调函数。

3.字符串工具

例:

import 'package:the_utils/the_utils.dart';var isIPv4 = StrUtil.isIPv4("192.168.1.1");
print(isIPv4); // 输出: true

你可以从代码注释上找到每一个方法的示例。

方法功能描述
capitalize将字符串的首字母转换为大写。
capitalizeWords将字符串中的特定单词替换为大写形式。
containsChinese检查字符串是否包含中文字符。
countCharOccurrences计算字符串中特定字符的出现次数。
countOccurrences计算字符串中特定字符或子串的出现次数。
camelCase将字符串转换为驼峰命名格式。
contains检查字符串是否包含特定的子串。
endsWith检查字符串是否以特定子串结尾。
escapeHtml将字符串中的HTML特殊字符转义。
extractNumbers将字符串中的数字提取为列表。
fromBase64从Base64格式解码字符串。
fromIni解析INI格式的字符串。
formatNumberWithCommas将字符串转换为逗号分隔的数字格式。
getHashCode获取字符串的哈希值。
isZAlphabetical检查字符串中的字符是否按照字母表顺序排列。
isHex检查字符串是否是有效的十六进制数。
isAlpha检查字符串是否只包含字母。
isAlphanumeric检查字符串是否只包含字母和数字。
isNumeric检查字符串是否只包含数字。
isUrl检查字符串是否是有效的URL。
isEmail检查字符串是否是有效的电子邮件地址。
isAsset检查字符串是否是有效的Flutter资源路径。
isDigitOnly判断字符串是否是纯数字。
isWhitespace检查字符串是否只包含空格和换行符。
isEmpty检查字符串是否为空。
isNullOrEmpty检查字符串是否为null或空。
isNullEmptyOrWhitespace检查字符串是否为null、空或仅包含空白字符。
isValidUsername检查字符串是否是有效的用户名。
isNotEmpty检查字符串是否不为空。
isBlank检查字符串是否只包含空格。
isLowerCase检查字符串是否全部由小写字母组成。
isUpperCase检查字符串是否全部由大写字母组成。
isPalindrome检查字符串是否是一个回文。
isDateTime检查字符串是否是有效的日期时间格式。
isCreditCard检查字符串是否是有效的信用卡号。
isFilePath检查字符串是否是有效的文件路径。
isIPv4检查字符串是否是有效的IPv4地址。
isIPv6检查字符串是否是有效的IPv6地址。
isBase64检查字符串是否符合Base64格式。
isJson检查字符串是否是有效的JSON格式。
isPhoneNumber检查字符串是否符合电话号码格式。
isSimplePassword检查字符串是否符合简单的密码规则。
isSpace检查字符串是否只包含空格。
isLicensePlate检查字符串是否是有效的车牌号。
kebabCase将字符串转换为短横线命名格式。
lowercaseWords将字符串中的特定单词替换为小写形式。
lowercaseFirstLetterOfEachWord将字符串中的每个单词首字母转换为小写。
matchesPattern检查字符串是否符合指定的正则表达式。
nTimesRepeat将字符串转换为n倍重复的形式。
onlyDigits获取字符串中的数字。
padLeft将字符串左侧填充到指定长度。
padRight将字符串右侧填充到指定长度。
repeat将字符串重复指定次数。
randomString生成指定长度的随机字符串。
replace替换字符串中的子串。
replaceWords将字符串中的特定单词替换为指定的映射。
replaceWithCallback将字符串中的特定模式替换为回调函数返回的字符串。
removeSubstring移除字符串中的特定子串。
removeNonNumeric移除字符串中的所有非数字字符。
removeHtmlTags移除字符串中的HTML标签。
replaceChars将字符串的每个字符替换为指定的映射字符。
replaceWord将字符串中的特定单词替换为另一个单词。
removeDigits移除字符串中的所有数字。
reverse反转字符串。
reverseSnakeCase将字符串转换为反转的蛇形命名格式。
removeChar从字符串中移除特定字符。
removeSpaces移除字符串中的所有空格。
replaceMultipleSpacesWithSingle将多个空格替换为单个空格。
removeChinese移除字符串中的中文字符。
replaceNewLines将字符串中的换行符转换为特定的字符串。
reverseCamelCase将字符串转换为反转的驼峰命名格式。
randomAlphabetic生成指定长度的随机字母字符串。
substringFromIndex从字符串的指定位置提取特定长度的子串。
snakeCase将字符串转换为蛇形命名格式。
sortWords将字符串中的所有单词按照字典顺序排序。
sortAlphabetically将字符串中的所有单词按字母顺序排序。
splitIntoChunks将字符串分割为指定长度的子串列表。
splitByDelimiter将字符串转换为List,按照指定的分隔符分割。
splitByNewLine将字符串转换为List,按照新行符分割。
titleize将字符串中的每个单词首字母转换为大写。
toAsciiString将字符串转换为其ASCII码表示的字符串。
toZeroWidthString将字符串转换为零宽字符表示。
toAcronym将字符串转换为首字母缩写词。
toBinaryString将字符串转换为其二进制表示的字符串。
toSafeFileName将字符串转换为安全的文件名(移除非法字符)。
toTitleCaseIgnoringSmallWords将字符串转换为标题格式,忽略小词。
toBase64将字符串转换为Base64格式。
toBoolean将字符串转换为布尔值。
toSlug将字符串转换为slug(URL友好格式)。
trimCharFromEnds修剪字符串的首尾指定字符。
truncate截断字符串到指定长度。
titleCase将字符串中的每个单词的首字母大写。
toInt将字符串转换为int类型。
toList将字符串转换为List,每个元素是原字符串的一个字符。
toDouble将字符串转换为double类型。
toDate将字符串转换为日期时间对象。
trimChar移除字符串首尾的特定字符。
uppercaseWord将字符串中的特定单词转换为大写。
unescapeHtml将转义的HTML字符串还原。
utf8Length计算字符串的字节长度(UTF-8编码)。
validateRegex验证字符串是否符合指定的正则表达式。
wordsJoinWithSeparator将字符串的单词按照指定的分隔符连接。
xToDash将字符串转换为小写,并替换所有空格为破折号。
yearFormat年份格式化。
yesOrNo将字符串转换为“是/否”表示。
zip将两个字符串压缩(zip)成一对的列表。
zeroWidthEncode将字符串转换为使用零宽空格的隐写形式。
zeroWidthDecode从使用零宽空格编码的字符串中解码出原始字符串。
zipCompress对字符串执行简单的压缩算法(使用重复字符计数)。
zipDecompress解压使用简单压缩算法压缩的字符串。
zipToMap使用指定的分隔符将字符串转换为“键-值”对的映射。

更多

你可以在 Github 上报告错误:https://github.com/jacklee1995/dart_utils/issues,提出建议。也可以提供更多实用工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/643089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java基础内容

1.聊一聊Java平台的理解&#xff01; java本身是一种面向对象的语言&#xff0c;最显著的特性有两个方面&#xff1a;一是书写一次&#xff0c;到处运行&#xff0c;也就是跨平台的特性&#xff1b;另外就是垃圾回收机制&#xff1a;java通过垃圾收集器回收分配内存&#xff0…

WPF多值转换器

背景&#xff1a;实现Slider拖动可以调整rgb 单转换器&#xff1a;WPF中数据绑定转换器Converter-CSDN博客 在View中&#xff1a; <StackPanel Orientation"Vertical"><Slider x:Name"slider_R" Minimum"0" Maximum"255" Wi…

深度学习技巧应用33-零门槛实现模型在多个GPU的分布式流水线训练的应用技巧

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下深度学习技巧应用33零门槛实现模型在多个GPU的分布式流水线训练的应用技巧&#xff0c;本文将帮助大家零门槛的实现模型在多个GPU的并行训练&#xff0c;如果你手头上没有GPU资源&#xff0c;根据本文的介绍也可实现…

dhcp服务器的ip池的待分配ip地址是否冲突的检测机制

看到有的资料说&#xff0c;dhcp服务器在分配ip地址时&#xff0c;要检测是否待分配的ip地址是否存在冲突&#xff0c;会向广播域发出&#xff0c;对应ip发出icmp的ping消息来验证是否冲突。特地用自己的公司的交换机验证一下&#xff0c;在交换机上镜像抓包观察一下。 wiresha…

机器学习实验4——CNN卷积神经网络分类Minst数据集

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1; 原理&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;CNN实现分类Minst&#x1f9e1;&#x1f9e1;代码数据预处理&#xff1a;设置基本参数&#xff1a; &#x1f9e…

接口文档swagger2的使用

Spring-接口文档swagger2 1、swagger/knife4j 接口文档配置 ​ knife4j是swagger的增强版本&#xff0c;更加的小巧、轻量&#xff0c;功能也是更加的完善&#xff0c;UI也更加的清晰&#xff1b;可以从swagger到knife4j无缝切换。 1.1 引入相关依赖 <!--接口文档的开发:…

神经网络:表述(Neural Networks: Representation)

1.非线性假设 无论是线性回归还是逻辑回归&#xff0c;当特征太多时&#xff0c;计算的负荷会非常大。 案例&#xff1a; 假设我们有非常多的特征&#xff0c;例如大于 100 个变量&#xff0c;我们希望用这 100 个特征来构建一个非线性的多项式模型&#xff0c;结果将是数量非…

Win10 如何用powershell写个WOL开机脚本

环境&#xff1a; Win10 专业版 问题描述&#xff1a; Win10 如何用powershell写个WOL开机脚本 解决方案&#xff1a; 1.脚本内容 $mac b1-10-18-52-11-12 $macBytes $mac -split - | ForEach-Object { [byte](0x $_) } $broadcastAddress [byte[]](1..6 | ForEach-O…

springboot导出数据到excel模板,使用hutool导出数据到指定excel,java写入数据到excel模板

最近遇到一个需求&#xff0c;需要从数据库查询数据&#xff0c;写入到对应的excel导入模板中。再把导出的数据进行修改&#xff0c;上传。 我们项目用的是easyExcel&#xff0c;一顿百度搜索&#xff0c;不得其法。 主要是要把数据填充到指定单元格中&#xff0c;跟平时用到的…

c++遍历文件夹下指定后缀的文件

dirent.h dirent.h是一个头文件&#xff0c;它包含了在文件系统中进行目录操作的函数和数据结构的声明。 以下是一些dirent.h头文件中常用的函数和数据结构&#xff1a; DIR结构体&#xff1a;表示一个目录流&#xff0c;用于操作目录。struct dirent结构体&#xff1a;表示…

【Android】细数Linux和Android系统中的伪文件系统

文章目录 前言Linux伪文件系统cgroupfsLinux的cgroupsAndroid的cgroups debugfsfunctionfs(/dev/usb-ffs/adb)functionfs 的引入sysfs是什么 procfs(/proc)pstore(/sys/fs/pstore)selinuxfs(/sys/fs/selinux)sysfs(/sys)参考 前言 做了好些年Android开发&#xff0c;你了解过L…

Java Web(二)--HTML

基本介绍 官网文档地址: HTML 教程 HTML&#xff08;HyperText Mark-up Language&#xff09;即超文本标签语言&#xff1b;HTML 文本是由 HTML 标签组成的文本&#xff0c;可以包括文字、图形、动画、声音、表格、链接等&#xff1b;HTML 的结构包括头部&#xff08;Head&…

《动手学深度学习(PyTorch版)》笔记1

Chapter1 Introduction 机器学习的关键组件 data 每个数据集由一个个样本&#xff08;example, sample&#xff09;组成&#xff0c;大多时候&#xff0c;它们遵循独立同分布(independently and identically distributed, i.i.d.)。 样本有时也叫做数据点&#xff08;data po…

学校“数据结构”课程Project—扩展功能(自主设计)

目录 一、设想功能描述 想法缘起 目标功能 二、问题抽象 三、算法设计和优化 1. 易想的朴素搜索 / dp 搜索想法 动态规划&#xff08;dp&#xff09;想法 2. 思考与优化 四、算法实现 五、结果示例 附&#xff1a;使用的地图API 一、设想功能描述 想法缘起 OSM 导出…

汽车网络架构与常用总线汇总

汽车CAN总线简述 CAN 是控制器局域网Controller Area Network 的缩写&#xff0c;1986年&#xff0c;由德国Bosch公司为汽车开发的网络技术&#xff0c;主要用于汽车的监测与控制&#xff0c;目的为适应汽车“减少线束的数量”“通过多个网络进行大量数据的高速传输”的需求。…

TA百人计划学习笔记 3.1.1模板测试

资料 源视频 【技术美术百人计划】图形 3.1 深度与模板测试 传送门效果示例_哔哩哔哩_bilibili ppt 3100-模板测试与深度测试(1) 参考 Unity Shader: 理解Stencil buffer并将它用于一些实战案例&#xff08;描边&#xff0c;多边形填充&#xff0c;反射区域限定&#xff0c;阴影…

c++学习笔记-STL案例-机房预约系统6-老师模块

前言 衔接上一篇“c学习笔记-STL案例-机房预约系统5-学生模块”&#xff0c;本文主要设计老师模块&#xff0c;从&#xff0c;老师登录和注销、查看所有预约、审核预约三个方面进行分析和实现。 目录 9 教师模块 9.1 教师登录和注销 9.1.1 构造函数 9.1.2 教师子菜单 ​编…

Linux7 安装 Oracle 19C RAC 详细图文教程

实战篇&#xff1a;Linux7 安装 Oracle 19C RAC 详细图文教程 本文是按照&#xff1a;https://www.modb.pro/db/154424的思路进行编写 一、安装前规划 安装RAC前&#xff0c;当然要先做好规划。具体包含以下几方面&#xff1a; 节点主机版本主机名实例名Grid/Oracle版本Publi…

鸿蒙原生开发-仿ChatGPT应用实战

运行环境 DAYU200:4.0.10.16 SDK&#xff1a;4.0.10.15 IDE&#xff1a;4.0.600 前言 在配置好环境之后&#xff0c;可以尝试这编写一个较为简单的应用程序练练手&#xff0c;这里选择使用一个免费的API接口网站 ALAPI来尝试编写一个可进行对话的GPT应用程序。 创建项目 …

SQL注入示例

例一、基础SQL注入&#xff1a;load_file读文件 CISP-PTE 认证考试 首先是有单引号和括号的&#xff0c;首要是要闭合&#xff0c;然后回显点是在-1的位置&#xff0c;读取文件上面的key的话使用的是load_file(/tmp/360/key) id-1)%09ununionion%09select%091,2,3,load_file…