作者:李俊才 (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 get 或 flutter 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,提出建议。也可以提供更多实用工具。