美文网首页
磨刀- Dart String

磨刀- Dart String

作者: 态度哥 | 来源:发表于2020-03-01 22:32 被阅读0次

    ✨✨✨✨✨ 魏什么_多喝水 Flutter 之路

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

    常用方法

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

    字符串转数组

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

    字符串切割

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

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

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

    字符串替换

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

    字符串查找

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

    转换大小写

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

    去空格

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

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

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

    相关文章

      网友评论

          本文标题:磨刀- Dart String

          本文链接:https://www.haomeiwen.com/subject/cwlxoctx.html