磨刀-  Dart  String - 图1

  1. var s1 = '111';
  2. String str1 = "我是字符串",str2 = '我是字符串2'; //定义字符串可以用逗号来定义多个. 并且单引号和双引号都可以
  3. String str3 = 'str: $str1 str2:$str2'; //拼接字符串 + 号 或者 $符号
  4. String str4 = 'str1:'+str1+' str2'+str2;
  5. print(str3);
  6. print(str4);

常用方法

  1. String str5 = '常用数据类型.请看控制台输出';
  2. print(str5.substring(1,5)); //截取
  3. print(str5.indexOf('类型')); //获取字符串位置
  4. print(str1.length);//字符串长度
  5. print(str1.isEmpty);//是否为空
  6. print(str2.isNotEmpty);//是否不为空

字符串转数组

  1. int int1 = int.parse("123");
  2. print('int1-->$int1');
  3. double dou1 = double.parse('1.23');
  4. print('dou1-->$dou1');
  5. print(123.toString());
  6. print(1.23.toString());
  7. print(3.13455.toStringAsFixed(3));//保留精度 3.134

字符串切割

  1. String str6 = '我们都是好孩子';
  2. print(str6);
  3. print(str6.substring(1,4));//n-m-1 ; 顾头不顾尾
  4. print(str6.substring(2)); //指定位置到尾部
  5. String str7 = 'a,b,c,,d d,,';
  6. List<String> strList = str7.split(',');//使用逗号分隔.返回的是一个数组
  7. print(strList);
  8. String str8 = 'a,b,c d,e';
  9. String str9 = str8.splitMapJoin(",", //查询",". 用onMatch 的返回值替换",",用onNonMatch的返回值替换其他
  10. onMatch: (Match match) {
  11. return 'a';
  12. }, onNonMatch: (String nonMatch) {
  13. return 'b';
  14. });
  15. print('str9-->$str9');

字符串是否b包含,或以xxx开始结束

  1. String str10 = '北京你好呀';
  2. print(str10.startsWith('北京'));//是否北京开始 true
  3. print(str10.startsWith('北京',3)); //是否北京开始,index = 3 开始判断
  4. print(str10.endsWith('呀'));// 是否 x 结束
  5. print(str10.contains('你好'));//是否包含
  6. print(str10.contains('你好',3));

字符串替换

  1. String str11 = 'abcdefgabcdefg';
  2. print(str11.replaceAll('ab', 'ww')); //替换全部符合条件的
  3. print(str11.replaceFirst('ab', 'dd')); //只替换第一个符号条件的
  4. print(str11.replaceFirst('ab', 'dd',3)); //从index=3开始.替换第一个符号条件的
  5. print(str11.replaceRange(1, 3, ''));//替换范围 从1-3 . 顾头不顾尾 bc 替换成 i
  6. print(str11.replaceAllMapped('c', (Match match){ // 用方法返回值替换指定的字符串, 全部
  7. return 'ee';
  8. } ));
  9. print(str11.replaceFirstMapped('b', (Match match){
  10. return '123';
  11. },2 )); //从index=2开始 用方法返回值替换指定的字符串

字符串查找

  1. print(str11.indexOf('ab')); //第一个符合条件的index
  2. print(str11.indexOf('ab',2));//从index = 2开始往后找
  3. print(str11.indexOf('ab',8));//从index = 8 开始往后找,找不到返回 -1
  4. print(str11.lastIndexOf('cd'));//从后往前找,返回第一个符合的index
  5. print(str11.lastIndexOf('cd',3));//从index = 3后往前找,返回第一个符合的index
  6. print(str11.lastIndexOf('cd',1));//从index = 1后往前找,返回第一个符合的index

转换大小写

  1. String str12 = 'adcABC';
  2. print(str12.toLowerCase()); //转小写
  3. print(str12.toUpperCase()); //转大写

去空格

  1. String str13 = ' abc de ef ';
  2. print(str13.trim());//去掉左右两边空格
  3. print(str13.trimRight());//去掉右边空格
  4. print(str13.trimLeft());//去掉左边空格

补全长度,剩余位数用指定字符串替换

  1. String str14 = "111";
  2. print(str14.padLeft(6));// 111 剩余3个位 默认使用""补齐
  3. print(str14.padRight(6,"c")); //111ccc 剩余3个位 指定使用"c"
  4. print(str14.padRight(6,"dd")); //111dddddd 剩余3个位 每个位指定使用"dd" 替换后总长度不是6
  5. print(str14.padLeft(2,"e"));//111 如果指定长度小于原字符串长度 返回原字符串