Flutter基础语法(三)字符串(String)

Flutter基础

第三章 Flutter字符串(String)的使用



前言

在使用flutter开发已经有一段时间了,在之前都是快速开发,没有时间去复盘自己的知识体系,现在就从flutter的基本语法开始,一步步分析flutter涉及到的细节问题,希望对你有所帮助。


一、字符串是什么?

  • 字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)

二、字符串的定义

1.声明字符串

dart使用var关键字声明参数,会自动推断类型。

var str = 'hello dart';
print('打印==$str'); //打印==hello dart

String str1 = "hello world";
print('打印==$str1'); //打印==hello world

2.三个单引号 或 三个双引号

String str = '''hello
                    dart''';
print('打印==$str'); ///打印==hello 
                                 ///dart

String str1 = """hello
                     world""";
print('打印==$str1'); ///打印==hello 
                                   ///world

3.使用r创建字符串

使用r则\n不会被转义

var str = r'hello \n dart';
print('打印==$str'); //打印==hello \n dart

var str1 = "hello \n world";
print('打印==$str1'); //打印==hello 
//world

4.单、双引号互相嵌套

String str = '单引号中的 \'单引号\' ';
String str1 = "双引号中的 \"双引号\" ";
print('打印==$str'); //打印==单引号中的 '单引号'
print('打印==$str1'); //打印==双引号中的 "双引号"

5.字符串拼接

可以通过空格、换行、+号拼接,而且单双引号都可以

// 使用的是空格拼接,多个空格也可以
String str1 = '单引号空格字符串' '拼接' '~'; 
// 使用换行符以及空格
String str2 = '单引号符串'
        '换行了'
        '再加空格'
        '拼接'; 
print('打印==$str1'); //打印==单引号空格字符串拼接~
print('打印==$str2'); //打印==单引号符串换行了再加空格拼接

String str3 = "正常一点" + ",使用 + 来拼接";
print('打印==$str3'); //打印==正常一点,使用 + 来拼接

6.${表达式}的使用

var bool = true;
var str = '拼接表达式的应用';
print('打印==${str} + bool值${bool}'); //打印==拼接表达式的应用 + bool值true

三、字符串的常用属性及方法

1.字符串长度

var str = '字符串的长度';
print('打印==${str.length}'); //打印==6
var str1 = 'hello dart';
print('打印==${str1.length}'); //打印==10

2.是否为空

.isEmpty为空true 不为空false

var str = 'hello dart';
print("是否为空==${str.isEmpty}");//是否为空==false

var str1 = '';
print("是否为空==${str1.isEmpty}");//是否为空==true

3.是否不为空

.isNotEmpty 为空false 不为空true

var str = 'hello dart';
print("是否不为空==${str.isNotEmpty}");//是否不为空==true

var str1 = '';
print("是否不为空==${str1.isNotEmpty}");//是否不为空==false

4.以什么字符开始的

如判断是否是以http开头,则可以这样判断
如果是则返回true ,否则返回false

var str = 'hello dart';
print("打印==${str.startsWith('hello')}"); //打印==true

5.以什么字符结束的

var str = 'hello dart';
print("打印==${str.endsWith('hello')}"); //打印==false

6.是否包含某个字符串

如果包含则返回true ,否则返回false

var str = 'hello dart';
print("打印==${str.contains('hello')}"); //打印==true

7.字符串截取

var str = 'hello dart';
print("打印==${str.substring(0, 3)}"); //打印==hel

8.某个字符串的下标

var str = 'hello dart';
print("打印==${str.indexOf('o')}"); //打印==4
print("打印==${str.indexOf('l')}"); //打印==2
print("打印==${str.indexOf('p')}"); //打印==-1

9.最后一次出现某个字符串的下标

var str = 'hello dart';
print("打印==${str.lastIndexOf('o')}"); //打印==4
print("打印==${str.lastIndexOf('l')}"); //打印==3
print("打印==${str.lastIndexOf('p')}"); //打印==-1

10.转为小写

var str = 'Hello Dart';
print("打印==${str.toLowerCase()}"); //打印==hello dart

11.转为大写

var str = 'Hello Dart';
print("打印==${str.toUpperCase()}"); //打印==HELLO DART

12.字符串清除空格

注意:字符中间的空格不会清除,只会去除前面和后面的空格

var str = '     Hello    Dart     ';
print("打印==${str.trim()}"); //打印==Hello    Dart
print('打印==${str.length}');//打印==23
print('打印==${str.trim().length}');//打印==13

13.字符串清除左边空格

var str = '     Hello    Dart     ';
print("打印==${str.trimLeft()}"); //打印==Hello    Dart
print('打印==${str.length}'); //打印==23
print('打印==${str.trimLeft().length}'); //打印==18

14.字符串清除右边空格

var str = '     Hello    Dart       ';
print("打印==${str.trimRight()}"); //打印==     Hello    Dart
print('打印==${str.length}'); //打印==25
print('打印==${str.trimRight().length}'); //打印==18

15.分割字符串

var str = 'Hello-dart-world';
var array = str.split("-");
print("打印==$array"); //打印==[Hello, dart, world]

16.字符串替换

var str = 'Hello-dart-world';
print("打印==${str.replaceAll('dart', 'hhh')}"); //打印==Hello-hhh-world

总结

以上就是今天要讲的内容,本文仅仅简单介绍了字符串的使用,而字符串(String)提供了大量能使我们快速便捷地处理数据的函数和方法。希望文章对你有所帮助,后续继续完善。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Flutter中,你可以使用`json_serializable`库和`json_annotation`库来将JSON字符串转换为实体类。以下是一个简单的步骤: 1. 添加依赖: 在`pubspec.yaml`文件中添加以下依赖: ```yaml dependencies: json_annotation: ^4.4.0 dev_dependencies: build_runner: ^2.0.5 json_serializable: ^4.1.3 ``` 2. 创建实体类: 定义一个Dart类,使用`json_annotation`库的注解来指定JSON字段和Dart类属性之间的映射关系。例如: ```dart import 'package:json_annotation/json_annotation.dart'; part 'user.g.dart'; @JsonSerializable() class User { final int id; final String name; final String email; User({required this.id, required this.name, required this.email}); factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json); Map<String, dynamic> toJson() => _$UserToJson(this); } ``` 注意:在创建完实体类后,需要运行一次代码生成命令以生成相应的.g.dart文件。后面会提到。 3. 运行代码生成命令: 在终端中运行以下命令,生成.g.dart文件: ```bash flutter pub run build_runner build ``` 这将根据实体类中的注解生成对应的.g.dart文件。 4. 将JSON字符串转换为实体类对象: 使用`json_serializable`库提供的fromJson方法,将JSON字符串转换为实体类对象。例如: ```dart import 'dart:convert'; String jsonString = '{"id": 1, "name": "John", "email": "john@example.com"}'; Map<String, dynamic> json = jsonDecode(jsonString); User user = User.fromJson(json); ``` 现在,你就可以通过访问`user`对象的属性来获取JSON中的值了。 这就是将JSON字符串转换为实体类的基本步骤。记得在每次修改实体类后,都要重新运行代码生成命令,以保持.g.dart文件的同步更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明似水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值