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