Dart/Flutter工具模块:the_utils

news/2024/7/20 23:07:55 标签: Flutter, Dart, Android, iOS, HarmonyOS
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一个 DartFlutter 工具库,提供编程中常用的工具函数,它在不断更新中。

其地址为: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.niftyadmin.cn/n/5343976.html

相关文章

AI存在信任问题,区块链能提供帮助吗?

区块链的商业应用&#xff0c;比如供应链追踪&#xff0c;一直以来都没有取得成功。但有人表示&#xff0c;该技术可能作为一种验证人工智能算法的工具而找到其存在的价值。 确保人工智能算法的安全性、公正性和准确性的困难正使一些公司转向一种曾被吹捧为革命性但在商业领域…

[C++] 如何查看DLL中包含了哪些函数

什么是DLL? DLL(动态链接库)是一种可执行文件格式&#xff0c;它包含了一些可以被多个程序共享的代码和数据。当一个程序需要使用某个DLL中的函数或类时&#xff0c;操作系统会将该DLL加载到内存中&#xff0c;并在程序运行时将其链接到程序的地址空间中。这样&#xff0c;程…

EXCEL VBA网抓技巧-复制网页表格,不用遍历单元格

EXCEL VBA网抓技巧-复制网页表格&#xff0c;不用遍历单元格 对应表格复制 Sub tableTest()Set winhttp CreateObject("winhttp.WinHttpRequest.5.1")Set HTML CreateObject("htmlfile")Set oWindow HTML.ParentWindowUrl "https://www.taiwanlo…

element-ui el-table中根据按钮的多少来计算操作栏的宽度

columnWidth.js export default {data() {return {minWidth: 100}},watch: {minWidth() {this.setWidth()}},methods: {setWidth() {if (this.headerData) {this.$set(this.headerData[this.headerData.length - 1], width, this.minWidth)}},// 获取列表数据后&#xff0c;调用…

Codeforces Round 170 (Div. 1)A. Learning Languages并查集

如果两个人会的语言中有共同语言那么他们之间就可以交流&#xff0c;并且如果a和b可以交流&#xff0c;b和c可以交流&#xff0c;那么a和c也可以交流&#xff0c;具有传递性&#xff0c;就容易联想到并查集&#xff0c;我们将人和语言看成元素&#xff0c;一个人会几种语言的话…

如何有效的开展接口自动化测试,一篇足矣

一、简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中&#xff0c;通过对接口的自动化测试来提高测试效率和测试质量&#xff0c;减少人工测试的工作量和测试成本&#xff0c;并且能够快速发现和修复接口错误&…

Spring Boot开发Spring Security

这里我对springboot不做过多描述&#xff0c;因为我觉得学这个的肯定掌握了springboot这些基础 导入核心依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring‐boot‐starter‐security</artifactId> </depen…