flutter_鸿蒙next_Dart基础①字符串

devtools/2024/10/10 12:00:39/

目录

代码示例

代码逐段解析

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/devtools/122032.html

相关文章

Webstorm 中对 Node.js 后端项目进行断点调试

首先&#xff0c;肯定需要有一个启动服务器的命令脚本。 然后&#xff0c;写一个 debug 的配置&#xff1a; 然后&#xff0c;debug 模式 启动项目和 启动调试服务&#xff1a; 最后&#xff0c;发送请求&#xff0c;即可调试&#xff1a; 这几个关键按钮含义&#xff1a; 重启…

【MySQL】Ubuntu环境下MySQL的安装与卸载

目录 1.MYSQL的安装 2.MySQL的登录 3.MYSQL的卸载 4.设置配置文件 1.MYSQL的安装 首先我们要看看我们环境里面有没有已经安装好的MySQL 我们发现是默认是没有的。 我们还可以通过下面这个命令来确认有没有mysql的安装包 首先我们得知道我们当前的系统版本是什么 lsb_…

iOS--RunLoop原理

前言 曾经在写项目的时候遇到过这么一个问题。&#xff1a; 项目中添加了一个tableview&#xff0c;然后还有一个计时器&#xff0c;当滑动tableview的时候会阻塞计时器&#xff0c;你得执行这么一段代码后&#xff0c;计时器才能正常运行。 RunLoop.current.add(timer, for…

核心理论框架对比:如何通过TOGAF实现企业数字化转型的全面战略

数字化转型中的理论与实践融合 随着全球市场竞争的加剧和技术的快速革新&#xff0c;企业必须不断适应数字化技术带来的变化。数字化转型不仅是技术的升级&#xff0c;更是企业业务模式、组织架构以及文化的深度变革。然而&#xff0c;在面对复杂的技术和业务环境时&#xff0…

《深度学习》OpenCV 摄像头OCR 过程及案例解析

目录 一、摄像头OCR 1、含义 2、一般操作步骤 1&#xff09;安装OpenCV库 2&#xff09;设置摄像头 3&#xff09;图像采集 4&#xff09;图像预处理 5&#xff09;文本识别 6&#xff09;文本处理 7&#xff09;结果显示 二、案例实现 1、定义展示图像函数 2、定…

OpenJudge | 置换选择排序

总时间限制: 1000ms 内存限制: 65536kB 描述 给定初始整数顺串&#xff0c;以及大小固定并且初始元素已知的二叉最小堆&#xff08;为完全二叉树或类似完全二叉树&#xff0c;且父元素键值总小于等于任何一个子结点的键值&#xff09;&#xff0c;要求利用堆实现置换选择排序&a…

Spring Boot 基础入门指南

1. 什么是 Spring Boot&#xff1f; Spring Boot 是一个用于简化 Spring 应用程序开发的框架&#xff0c;旨在让开发者快速构建独立的、生产级的 Spring 应用。它提供了自动配置、嵌入式服务器和一系列开箱即用的功能&#xff0c;降低了应用程序的开发和部署难度。 2. Spring…

pytorch常用函数view、sum、sequeeze、cat和chunk

文章目录 view()函数sequeeze和unsequeezecat和chunk函数sum函数view()函数 view()相当于reshape、resize,重新调整Tensor的形状。 指定调整形状之后的维度import torch re = torch.tensor([1, 2, 3, 4, 5