flutter_鸿蒙next_Dart基础①字符串

2024-10-05 07:58:22 浏览数 (2)

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

代码示例
代码语言:javascript复制
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. 字符串的声明与打印
代码语言:javascript复制
String str1 = 'Hello,World'; print(str1);

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

2. 数字的声明与打印
代码语言:javascript复制
num str2 = 123; print(str2);

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

3. 多行字符串
代码语言:javascript复制
String str3 = '''123 你好'''; print(str3);

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

4. 字符串拼接
代码语言:javascript复制
//常见的操作 //拼接 print(str1); print('$str1$str2'); 
print('${str1}${str2.toString()}');

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

5. 字符串分割
代码语言:javascript复制
print(str1.split(''));

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

6. 字符串修剪
代码语言:javascript复制
print(' 123 '.trim());

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

7. 检查字符串是否为空
代码语言:javascript复制
print(''.isEmpty); print(''.isNotEmpty);

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

8. 字符串替换
代码语言:javascript复制
print(str1.replaceAll('Hello', '123'));

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

9. 正则表达式与电话号码验证
代码语言:javascript复制
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. 字符串查找
代码语言:javascript复制
print(str1.contains('s'));

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

11. 字符串定位
代码语言:javascript复制
print(str1.indexOf('e'));

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

写在最后

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

0 人点赞