
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 如果指定长度小于原字符串长度 返回原字符串