數字類型與布爾類型與其他語言是一樣一樣的
int figureA = -93;// figureA是否為負數print(figureA.isNegative);// figureA是否是有限的print(figureA.isFinite);// figureA是否正無窮大或負無窮大print(figureA.isInfinite);double figureB = 64.742;// 返回figureB的符號,-1.0:值小于0、+1.0:值大于0、-0.0/0.0/NaN:值是其本身print(figureB.sign);// 返回figureB運行時的類型print(figureB.runtimeType);// 返回figureB的哈希碼print(figureB.hashCode);int figureC = 13;// figureC是否為奇數print(figureC.isOdd);// figureC是否為偶數print(figureC.isEven);// 返回figureC所占存儲位print(figureC.bitLength);
int figureA = -93;// 返回figureA的絕對值print(figureA.abs());// 返回figureA的字符串print(figureA.toString());double figureB = 64.742;// 返回figureB的整數值print(figureB.toInt());// 返回figureB的雙精度值print(figureB.toDouble());// 返回大于figureB的雙精度值print(figureB.ceilToDouble());// 返回小于figureB的雙精度值print(figureB.floorToDouble());// 返回figureB四舍五入的雙精度值print(figureB.roundToDouble());// 返回figureB保留幾位小數的字符串print(figureB.toStringAsFixed(2));// 返回figureB保留幾位小數后精確結果的字符串print(figureB.toStringAsPrecision(3));int figureC = 31;// figureC對比其他整數,0:相同、1:大于、-1:小于print(figureC.compareTo(20));// 將figureC控制在指定區間的整數print(figureC.clamp(20, 25));// 返回figureC轉換成指定基數(進制)的字符串print(figureC.toRadixString(16));int figureD = 12;// 返回figureD與其他整數的最大公約數print(figureD.gcd(18));// 返回figureDg與其他整數的截取余數print(figureD.remainder(18));// 返回figureD幾次冪值的字符串print(figureD.toStringAsExponential(2));
String是一成不變的,一旦定義就不能改變
String name = "XiaoMing say : \n";
String say = """
Keep on going ...
never give up ...
never say die ...
""";
print(name + say);
String str = "Hello world!";// 返回字符串的UTF-16代碼單元列表print(str.codeUnits);// 返回根據代碼單元生成的哈希碼print(str.hashCode);// 字符串是否為空print(str.isEmpty);// 字符串是否不為空print(str.isNotEmpty);// 字符串的長度print(str.length);// 返回字符串Unicode代碼的可迭代對象print(str.runes);// 返回對象運行時的類型print(str.runtimeType);
返回對象的字符串表示
String str = "Hello world!";
print(str.toString());
截取字符串
String str = 'Dart is fun';
String newStr = str.substring(0, 4);
print(newStr);
正則表達式用法?在字符串中插入字符串
String name = "XiaoMing";
print("My name is ${name}");
輸出字符串的Unicode編碼
String str = "Dart";
print(str.codeUnitAt(0));
print(str.codeUnits);
去掉字符串前后空格
String str = "\tDart is fun\n";
print(str.trimLeft());
print(str.trimRight());
print(str.trim());
字符串的大小寫轉換
String str = "ABCdef";
print(str.toLowerCase());
print(str.toUpperCase());
拆分字符串
String strA = "Hello world!";
print(strA.split(" "));String strB = "abba";
print(strB.split(new RegExp(r"b*")));
連續基礎有哪些類型、是否包含其他字符串
String str = 'Dart strings';
print(str.contains('D'));
print(str.contains(new RegExp(r'[A-Z]')));
print(str.contains('D', 0));
print(str.contains(new RegExp(r'[A-Z]'), 0));
在字符串前后補占位符
String str = "86";
print(str.padLeft(4, '0'));
print(str.padRight(4, '0'));
獲取指定字符出現的位置
String str = 'Dartisans';print(str.indexOf('art'));
print(str.indexOf(new RegExp(r'[A-Z][a-z]')));print(str.lastIndexOf('a'));
print(str.lastIndexOf(new RegExp(r'a(r|n)')));
替換字符串中所有匹配字符
String str = "resume";
print(str.replaceAll(new RegExp(r'e'), 'é'));
StringBuffer是可改變的,定義后還可以再修改
StringBuffer xiaomingSaid = new StringBuffer();
xiaomingSaid.write("All the world's a stage ... ");
xiaomingSaid.write("And all the men and women merely players ...");
print(xiaomingSaid);
StringBuffer strBuf = new StringBuffer();strBuf.write("Sow nothing, reap nothing.");// 返回字符串緩沖區的哈希碼print(strBuf.hashCode);// 字符串緩沖區是否為空print(strBuf.isEmpty);// 字符串緩沖區是否不為空print(strBuf.isNotEmpty);// 返回字符串緩沖區累積內容的長度print(strBuf.length);// 返回對象運行時的類型print(runtimeType);
StringBuffer strBuf = new StringBuffer();// 添加字符串到字符串緩沖區內strBuf.write("Do one thing at a time, and do well.");// 返回字符串緩沖區的所有內容print(strBuf.toString());// 清除字符串緩沖區strBuf.clear();
RegExp exp = new RegExp(r"(\w+)");// 返回正則表達式的哈希碼print(exp.hashCode);// 正則表達式是否區分大小寫print(exp.isCaseSensitive);// 正則表達式是否匹配多行print(exp.isMultiLine);// 返回源正則表達式字符串print(exp.pattern);// 返回對象運行時的類型print(exp.runtimeType);
RegExp exp = new RegExp(r"(\w+)");// 返回正則表達式匹配項的可迭代對象print(exp.allMatches("abc def ghi"));// 搜索并返回第一個匹配項,沒有則返回nullprint(exp.firstMatch(""));// 正則表達式是否找到匹配項print(exp.hasMatch("as"));// 從第幾個字符開始匹配正則表達式print(exp.matchAsPrefix("ab cd", 3));// 返回正則表達式的第一個匹配字符串print(exp.stringMatch("abc de"));// 返回正則表達式的字符串表示print(exp.toString());
正則表達式手冊。驗證郵政編碼的正則,返回是否匹配的布爾值
RegExp postalcode = new RegExp(r'(\d{6})');
print(postalcode.hasMatch("518000"));
驗證手機號碼的正則,以Iterable< Match >返回所有匹配項
RegExp mobile = new RegExp(r"(0|86|17951)?(13[0-9]|15[0-35-9]|17[0678]|18[0-9]|14[57])[0-9]{8}");
Iterable<Match> mobiles = mobile.allMatches("13812345678 12345678901 17012345678");
for (Match m in mobiles) {String match = m.group(0);print(match);
}
驗證網址URL的正則,如果匹配成功以Match返回匹配項,否則返回null
RegExp url = new RegExp(r"^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+");
print(url.firstMatch("http://www.google.com"));
驗證身份證號碼的正則,返回第一個匹配的字符串
RegExp identity = new RegExp(r"\d{17}[\d|x]|\d{15}");
print(identity.stringMatch("My id number is 35082419931023527x"));
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态