在 Dart 中创建一个 capitalize 方法
Creating a capitalize Method in Dart
我正在尝试在 dart 中创建一个方法,但是 运行 撞到了墙上。我在看 .toUpperCase();和 .toLowerCase();完成了。我尝试创建的方法是 .capitalize();
我想这样调用这个方法
字符串 hello = "WORLD".capitalize(); //世界
这是我目前的代码
String capitalize() {
return this.codeUnitAt(0).toUpperCase() + this.substring(1).toLowerCase();
}
When 运行ning String hello = "WORLD".capitalize();我收到以下错误
[38;5;124m[2015-6-4 11:37:13.011] Class 'String' has no instance method 'capitalize'.
NoSuchMethodError: method not found: 'capitalize'
Receiver: "WORLD"
Arguments: [][0m
我知道我可以调用类似 String capitalize(String s) => s[0].toUpperCase() + s.substring(1);
的函数,但更愿意保持字符串操作调用相同。
谢谢,感谢任何帮助:)
您不能随心所欲地扩展字符串 class。像这样使用它:
capitalize("WORLD");
是的,不像 JS,你不能只改变 Dart 中的任何 class。您只能扩展它。例如。您可以使用 capitalize
方法创建 MyString
class。但我不认为你想要它。只需使用方法 capitalize
创建一些 StringUtils.dart
库
由于 dart 现在更普遍,pub.dartlang.org 上有更多可用的软件包。
我找到了一个很好的 dart 包,用于对字符串进行不同的操作。它还包含一个 capitalize 方法。
https://pub.dartlang.org/packages/basic_utils
只需添加依赖:
dependencies:
basic_utils: ^1.0.3
用法:
StringUtils.capitalize("helloworld"); // helloworld => Helloworld
它还包含其他有用的方法:
- camelCaseToUpperUnderscore
- camelCaseToLowerUnderscore
- 是 Ascii
- isNullOrEmpty ...
如果这仍然是个问题,您可以简单地使用这个依赖项:
dependencies:
text_tools: ^0.0.2
使用简单,举个例子:
//This will put the first letter in UpperCase, will print 'Name'
print(TextTools.toUppercaseFirstLetter(text: 'name'));
我正在尝试在 dart 中创建一个方法,但是 运行 撞到了墙上。我在看 .toUpperCase();和 .toLowerCase();完成了。我尝试创建的方法是 .capitalize();
我想这样调用这个方法 字符串 hello = "WORLD".capitalize(); //世界
这是我目前的代码
String capitalize() {
return this.codeUnitAt(0).toUpperCase() + this.substring(1).toLowerCase();
}
When 运行ning String hello = "WORLD".capitalize();我收到以下错误
[38;5;124m[2015-6-4 11:37:13.011] Class 'String' has no instance method 'capitalize'.
NoSuchMethodError: method not found: 'capitalize'
Receiver: "WORLD"
Arguments: [][0m
我知道我可以调用类似 String capitalize(String s) => s[0].toUpperCase() + s.substring(1);
的函数,但更愿意保持字符串操作调用相同。
谢谢,感谢任何帮助:)
您不能随心所欲地扩展字符串 class。像这样使用它:
capitalize("WORLD");
是的,不像 JS,你不能只改变 Dart 中的任何 class。您只能扩展它。例如。您可以使用 capitalize
方法创建 MyString
class。但我不认为你想要它。只需使用方法 capitalize
StringUtils.dart
库
由于 dart 现在更普遍,pub.dartlang.org 上有更多可用的软件包。
我找到了一个很好的 dart 包,用于对字符串进行不同的操作。它还包含一个 capitalize 方法。
https://pub.dartlang.org/packages/basic_utils
只需添加依赖:
dependencies:
basic_utils: ^1.0.3
用法:
StringUtils.capitalize("helloworld"); // helloworld => Helloworld
它还包含其他有用的方法:
- camelCaseToUpperUnderscore
- camelCaseToLowerUnderscore
- 是 Ascii
- isNullOrEmpty ...
如果这仍然是个问题,您可以简单地使用这个依赖项:
dependencies:
text_tools: ^0.0.2
使用简单,举个例子:
//This will put the first letter in UpperCase, will print 'Name'
print(TextTools.toUppercaseFirstLetter(text: 'name'));