在Dart中创建大写方法

问题描述 投票:1回答:3

我试图在飞镖中创建一个方法但是遇到了一堵墙。我在看.toUpperCase();和.toLowerCase();完成了。我想创建的方法是.capitalize();

我想把这个方法称为String hello =“WORLD”.capitalize(); //世界

这是我到目前为止的代码

String capitalize() {
return this.codeUnitAt(0).toUpperCase() + this.substring(1).toLowerCase();
}

运行String时hello =“WORLD”.capitalize();我收到以下错误

[38; 5; 124m [2015-6-4 11:37:13.011]类'String'没有实例方法'大写'。

NoSuchMethodError:找不到方法:'capitalize' 接收者:“世界” 参数:[] [0m

我知道我可以调用像String capitalize(String s) => s[0].toUpperCase() + s.substring(1); 这样的函数但是宁愿保持字符串操作调用相同。

谢谢,我感谢任何帮助:)

dart capitalize
3个回答
3
投票

您不能像所希望的那样扩展String类。只需使用它:

capitalize("WORLD");

0
投票

是的,不像JS,你不能只改变Dart中的任何类。您只能扩展它。例如。你可以用MyString方法创建capitalize类。但我不认为你想要它。只需使用方法StringUtils.dart制作一些capitalize


0
投票

由于dart现在比较常见,pub.dartlang.org提供了更多的软件包。

我找到了一个很好的dart包,用于对字符串进行不同的操作它还包含一个大写方法。

https://pub.dartlang.org/packages/basic_utils

只需添加依赖项:

dependencies:
   basic_utils: ^1.0.3

用法:

StringUtils.capitalize("helloworld"); // helloworld => Helloworld

它还包含其他有用的方法:

  • camelCase To Upper Underscore
  • camelCaseToLowerUnderscore
  • isAscii
  • isNullOrEmpty ......
© www.soinside.com 2019 - 2024. All rights reserved.