flutter_鸿蒙next_Dart基础①字符串

embedded/2024/10/9 0:08:59/

目录

代码示例

代码逐段解析

1. 字符串的声明与打印

2. 数字的声明与打印

3. 多行字符串

4. 字符串拼接

5. 字符串分割

6. 字符串修剪

7. 检查字符串是否为空

8. 字符串替换

9. 正则表达式与电话号码验证

10. 字符串查找

11. 字符串定位

写在最后


在本篇博客中,我们将深入探讨 Dart 编程语言中的字符串操作。Dart 是一种强类型的语言,广泛应用于 Flutter 开发以及其他一些领域。下面我们将通过一段简单的代码示例来演示字符串的创建、操作和常用方法。

代码示例

void main() {String str1 = 'Hello,World';print(str1);num str2 = 123;print(str2);String str3 = '''123你好''';print(str3);//常见的操作//拼接print(str1);print('$str1$str2');print('${str1}${str2.toString()}');//分割print(str1.split(''));print('    123    '.trim());print(''.isEmpty);print(''.isNotEmpty);print(str1.replaceAll('Hello', '123'));String ph = r'^(?:\+86)?1[3-9]\d{9}$';RegExp regExp1 = RegExp(ph);List<String> phs = ["12345678910", "+8613812345678", "13046023351"];for (String number in phs) {if (regExp1.hasMatch(number)) {print("$number是有效的电话");} else {print("$number无效的电话");}}//查找print(str1.contains('s'));//定位print(str1.indexOf('e'));
}

代码逐段解析

1. 字符串的声明与打印
String str1 = 'Hello,World'; print(str1);

这段代码声明了一个名为 str1 的字符串变量,并将其初始化为 'Hello,World'。随后,使用 print() 函数将其输出到控制台。

2. 数字的声明与打印
num str2 = 123; print(str2);

这里声明了一个名为 str2 的数字变量,使用 num 类型可以同时表示整数和浮点数。初始化为 123,并输出到控制台。

3. 多行字符串
String str3 = '''123 你好'''; print(str3);

这段代码展示了 Dart 中的多行字符串,可以使用三重引号('''""")来创建。str3 被初始化为包含数字和中文字符的字符串,并打印出来。

4. 字符串拼接
//常见的操作 //拼接 print(str1); print('$str1$str2'); 
print('${str1}${str2.toString()}');

这部分展示了字符串的拼接操作。通过 $ 符号,可以轻松地将字符串和变量连接在一起。toString() 方法确保 num 类型的 str2 可以被转换为字符串。

5. 字符串分割
print(str1.split(''));

split('') 方法将 str1 按字符分割,并返回一个字符串列表。例如,'Hello,World' 将被分割为 ['H', 'e', 'l', 'l', 'o', ',', 'W', 'o', 'r', 'l', 'd']

6. 字符串修剪
print(' 123 '.trim());

trim() 方法去除字符串两端的空白字符。此处将输出 '123',即去掉了前后的空格。

7. 检查字符串是否为空
print(''.isEmpty); print(''.isNotEmpty);

这段代码演示了如何检查字符串是否为空。isEmpty 方法返回 true,如果字符串没有字符;isNotEmpty 返回 true,如果字符串中有字符。

8. 字符串替换
print(str1.replaceAll('Hello', '123'));

replaceAll() 方法用于将 str1 中所有的 'Hello' 替换为 '123'。输出结果为 '123,World'

9. 正则表达式与电话号码验证
String ph = r'^(?:\+86)?1[3-9]\d{9}$'; 
RegExp regExp1 = RegExp(ph); 
List<String> phs = ["12345678910", "+8613812345678", "13046023351"]; 
for (String number in phs) { 
if (regExp1.hasMatch(number)) { print("$number是有效的电话"); } 
else { print("$number无效的电话"); } }

此段代码展示了如何使用正则表达式验证电话号码。ph 是一个正则表达式字符串,用于匹配有效的中国手机号。hasMatch() 方法判断每个电话号码是否符合正则表达式,并输出结果。

10. 字符串查找
print(str1.contains('s'));

contains() 方法用于判断字符串 str1 是否包含字符 's',此处返回 false,因为 str1 中并不存在该字符。

11. 字符串定位
print(str1.indexOf('e'));

indexOf() 方法返回字符 'e'str1 中的索引位置。若字符不存在,返回 -1。在此例中,输出结果为 1,表示 'e'str1 的第二个位置(索引从 0 开始)。

写在最后

通过这段代码,我们可以看到 Dart 中字符串的基本操作,如声明、拼接、分割、查找和正则表达式的应用。这些操作是编写 Dart 程序时不可或缺的技能,对开发者在进行文本处理、数据验证等方面有很大帮助。希望这篇博客能帮助你更好地理解 Dart 编程语言中的字符串处理!


http://www.ppmy.cn/embedded/124787.html

相关文章

自动驾驶系列—LDW(车道偏离预警):智能驾驶的安全守护者

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

昇思MindSpore进阶教程--单节点数据缓存(上)

大家好&#xff0c;我是刘明&#xff0c;明志科技创始人&#xff0c;华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享&#xff0c;如果你也喜欢我的文章&#xff0c;就点个关注吧 正文开始 对于需要重复访问远程的数据集…

【论文速看】DL最新进展20241008-多模态、医学图像分割、扩散模型

目录 【多模态】【医学图像分割】【扩散模型】 【多模态】 PaliGemma: A versatile 3B VLM for transfer 研究机构&#xff1a;google 论文链接&#xff1a;https://arxiv.org/pdf/2407.07726 模型及其说明链接&#xff1a;https://huggingface.co/google/paligemma-3b-pt-22…

栈_1(2024年10月08日)

2024年10月08日 记录_导读 2024年10月08日 19:31 关键词 队列 线性表 假溢出 逻辑结构 物理结构 元素添加 数据结构 操作 元素 top 入栈 出栈 极限情况 size 函数 对比 结构 指针 链表 单链表 全文摘要 队列作为一种数据结构&#xff0c;以其先进先出的特性&#xff0c;在…

PyQt入门指南一 框架介绍

1. PyQt概述 PyQt是一个用于创建桌面应用程序的Python绑定库&#xff0c;它基于Qt框架。Qt是由挪威公司Trolltech开发的跨平台C图形用户界面应用程序开发框架。PyQt使得Python开发者能够利用Qt的强大功能来构建专业的图形用户界面&#xff08;GUI&#xff09;应用程序。 2. 为…

数据赋能(202)——开发:数据开发管理——技术方法、主要工具

技术方法 数据开发管理的技术方法主要包括以下几种&#xff1a; 阶段化管理&#xff1a; 数据开发阶段化管理是指将数据开发划分为若干个小的阶段&#xff0c;每个阶段都有其特定的任务和输出。这种方法有助于数据开发管理者更好地掌控数据开发进度&#xff0c;确保每个阶段都…

《重生到现代之从零开始的C语言生活》—— 结构体和位段

结构体 我们在之前是了解过结构体的&#xff0c;现在我们来稍微复习一下 结构体的声明 struct name {member list }&#xff1b;假如我想创建一个结构体呢么我们可以 struct a {int a;char b[20];float c; };这是我们创建了这个结构体&#xff0c;当我们想初始化时 #inclu…

MFC工控项目实例之十九手动测试界面输出信号切换

承接专栏《MFC工控项目实例之十八手动测试界面输入信号实时检测》 根据板卡设置界面组合框选项设定的输出信号&#xff0c;通过读取文件中保存的键值&#xff0c;用单选按钮切换输出信号接通、关闭。 1、在Data_1.h文件中添加代码 CString COMB_Data_O_1[]{"夹紧",&…