Flutter笔记:Dart/Flutter工具模块:the_utils
【摘要】 The Utils一个 Dart 和 Flutter 工具库,提供编程中常用的工具函数,它在不断更新中。
The Utils一个 Dart 和 Flutter 工具库,提供编程中常用的工具函数,它在不断更新中。
运行以下命令:
使用 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';
例如:
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) |
根据指定的时间字符串运行回调函数。 |
例:
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,提出建议。也可以提供更多实用工具。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)