Dart:数字和字符串常用api

366 阅读2分钟

数字

// 使用 int 和 double 的 parse() 方法将字符串转换为整型或双浮点型对象:
print(int.parse('42') == 42); // true
print(int.parse('0x42') == 66); // true
print(double.parse('0.50') == 0.5); // true
  
// 通过添加 radix 参数,指定整数的进制基数
print(int.parse('42', radix: 16) == 66); // true

// 使用 toString() 方法将整型或双精度浮点类型转换为字符串类型。
print(42.toString() == '42'); // true
print(123.456.toString() == '123.456'); // true

// 使用 toStringAsFixed(). 指定小数点右边的位数
print(123.456.toStringAsFixed(2) == '123.46'); // true

// 使用 toStringAsPrecision(): 指定字符串中的有效数字的位数
print(123.456.toStringAsPrecision(2) == '1.2e+2'); // true

print(double.parse('1.2e+2') == 120.0); // true

字符串

  // 检查一个字符串是否包含另一个字符串
  print('Never odd or even'.contains('odd')); // true

  // 检查字符串是否以特定字符串作为开头
  print('Never odd or even'.startsWith('Never')); // true

  // 检查字符串是否以特定字符串作为结尾
  print('Never odd or even'.endsWith('even')); // true

  // 在字符串内查找特定字符串的位置
  print('Never odd or even'.indexOf('odd') == 6); // true
  
  // 截取字符串
  print('Never odd or even'.substring(6, 9) == 'odd'); // true

  // 分割字符串
  print('structured web apps'.split(' ')); // [structured, web, apps]
  print('hello'.split('')); // [h, e, l, l, o]

  // 获取字符串中单个字符
  print('Never odd or even'[0] == 'N'); // true

  // 获取单独的UTF-16编码单元
  var codeUnitList = 'Never odd or even'.codeUnits.toList();
  print(codeUnitList); // [78, 101, 118, 101, 114, 32, 111, 100, 100, 32, 111, 114, 32, 101, 118, 101, 110]
  
  // 大小写转换.
  print('structured web apps'.toUpperCase()); // STRUCTURED WEB APPS
  print('STRUCTURED WEB APPS'.toLowerCase()); // structured web apps
  
  // 使用 trim() 移除首尾空格
  print('  hello  '.trim()); // 'hello'
  
  // isEmpty 检查一个字符串是否为空(长度为0
  print(''.isEmpty); // true
  print('  '.isNotEmpty); // true
  
  // 字符串替换
  var str = 'Hello, NAME, NAME!';
  // 替换第一个匹配的
  var str1 = str.replaceFirst(RegExp('NAME'), 'Bob'); 
  // 替换所有匹配的
  var str2 = str.replaceAll(RegExp('NAME'), 'Bob'); 
  // 指定范围替换
  var str3 = str.replaceRange(7, 11, 'Bob');
  print(str1); // Hello, Bob, NAME!
  print(str2); // Hello, Bob, Bob!
  print(str3); // Hello, Bob, NAME!
  
  // 构建一个字符串
    var sb = StringBuffer();
  sb
    ..write('Use a StringBuffer for ')
    ..writeAll(['efficient', 'string', 'creation'], ' ')
    ..write('.');
  print(sb.toString()); // Use a StringBuffer for efficient string creation.