flutter_鸿蒙next_Dart基础①字符串

简介: 本文深入探讨了 Dart 编程语言中的字符串操作,包括字符串的声明、拼接、分割、修剪、查找、定位和正则表达式验证等常用方法。通过具体的代码示例,展示了如何在 Dart 中高效地处理字符串,适用于 Flutter 开发及其他领域。

在本篇博客中,我们将深入探讨 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 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 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 编程语言中的字符串处理!
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/lbcyllqj/article/details/142700452

目录
相关文章
|
23天前
|
存储 调度 数据安全/隐私保护
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
鸿蒙应用打包上架流程包括创建应用、打包签名和上传应用。首先,在AppGallery Connect中创建项目、APP ID和元服务。接着,使用Deveco进行手动签名,生成.p12和.csr文件,并在AppGallery Connect中上传CSR文件获取证书。最后,配置签名并打包生成.app文件,上传至应用市场。常见问题包括检查签名配置文件是否正确。参考资料:[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)。
53 3
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
|
23天前
|
开发工具 芯片 开发者
鸿蒙Flutter实战:12-使用模拟器开发调试
本文介绍了如何在 M 系列芯片的 Mac 电脑上使用模拟器进行鸿蒙 Flutter 开发和调试。主要内容包括:创建 Flutter 项目、签名、创建模拟器、运行 Flutter 项目以及常见问题的解决方法。适用于希望在鸿蒙系统上开发 Flutter 应用的开发者。
40 2
鸿蒙Flutter实战:12-使用模拟器开发调试
|
27天前
|
开发工具 UED 容器
Flutter&鸿蒙next 实现长按录音按钮及动画特效
本文介绍了如何在 Flutter 中实现一个带有动画效果的长按录音按钮。通过使用 `GestureDetector` 监听长按手势,结合 `AnimatedContainer` 和 `AnimationController` 实现按钮的动画效果,以及 `flutter_sound` 插件完成录音功能。文章详细讲解了功能需求、实现思路和代码实现,帮助读者逐步掌握这一实用功能的开发方法。
101 5
|
27天前
|
容器
Flutter &&鸿蒙next中的 Stack 和 Positioned 用法详解
在 Flutter 中,Stack 和 Positioned 是创建层叠布局和灵活定位元素的常用组件。Stack 可以将多个子组件叠加在一起,允许子组件相互重叠;Positioned 用于在 Stack 内部精确控制子组件的位置。本文详细介绍了它们的基本用法、属性和应用场景,包括动画、弹出层和悬浮按钮等。
77 1
|
27天前
|
UED 开发者 容器
Flutter&鸿蒙next 的 Sliver 实现自定义滚动效果
Flutter 提供了强大的滚动组件,如 ListView 和 GridView,但当需要更复杂的滚动效果时,Sliver 组件是一个强大的工具。本文介绍了如何使用 Sliver 实现自定义滚动效果,包括 SliverAppBar、SliverList 等常用组件的使用方法,以及通过 CustomScrollView 组合多个 Sliver 组件实现复杂布局的示例。通过具体代码示例,展示了如何实现带有可伸缩 AppBar 和可滚动列表的页面。
90 1
|
27天前
|
存储 Dart
Flutter&鸿蒙next 实现一个计算器应用
本文介绍了如何使用 Flutter 创建一个简单的计算器应用,包括基本的加减乘除运算。文章详细讲解了界面布局、计算逻辑和状态管理的实现步骤,通过具体的代码示例展示了如何构建计算器界面、处理用户输入和显示计算结果。
74 0
|
27天前
|
传感器 开发框架 物联网
鸿蒙next选择 Flutter 开发跨平台应用的原因
鸿蒙(HarmonyOS)是华为推出的一款旨在实现多设备无缝连接的操作系统。为了实现这一目标,鸿蒙选择了 Flutter 作为主要的跨平台应用开发框架。Flutter 的跨平台能力、高性能、丰富的生态支持和与鸿蒙系统的良好兼容性,使其成为理想的选择。通过 Flutter,开发者可以高效地构建和部署多平台应用,推动鸿蒙生态的快速发展。
176 0
|
27天前
|
Dart JavaScript 前端开发
Flutter 的 Widget 概述与常用 Widgets 与鸿蒙 Next 的对比
Flutter 是 Google 开发的开源 UI 框架,用于快速构建高性能的移动、Web 和桌面应用。Flutter 通过 Widget 构建 UI,每个 UI 元素都是 Widget,包括文本、按钮、图片等。Widget 不仅描述外观,还描述行为,是不可变的。常见的 Widget 包括结构型(Container、Column、Row)、呈现型(Text、Image)、交互型(ElevatedButton)和状态管理型(StatefulWidget)。Flutter 与鸿蒙 Next 在组件化架构、开发语言、布局系统、性能和跨平台支持方面各有优势
73 0
|
15天前
|
Android开发
鸿蒙开发:自定义一个简单的标题栏
本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。
鸿蒙开发:自定义一个简单的标题栏
|
15天前
|
API
鸿蒙开发:切换至基于rcp的网络请求
本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。
鸿蒙开发:切换至基于rcp的网络请求

热门文章

最新文章