【发布时间】:2016-06-29 15:14:15
【问题描述】:
我正在尝试将 Dart 管道转换为打字稿,但打字稿中似乎没有 StringBuffer 的等价物。 Dart 代码如下所示
.dart
@Pipe( name: 'titleCase' )
class TitleCasePipe extends PipeTransform {
dynamic transform( String value, List args ) {
StringBuffer buffer = new StringBuffer( );
if ( !isNull( value ) ) {
List<String> list = value.split( '' );
if ( value.startsWith( new RegExp( r"^[is]{1,2}([A-Z]|[0-9])" ) ) ) {
int start = 2;
List<String> sublist = list.sublist( start );
return sublist.join( '' );
}
for ( int i = 0; i < list.length; i++ ) {
if ( i == 0 ) {
buffer.write( list[i].toUpperCase( ) );
continue;
}
if ( isUppercase( list[i] ) ) {
buffer.write( ' ' );
buffer.write( list[i] );
continue;
}
buffer.write( list[i] );
}
}
return buffer.toString( );
}
}
什么是字符串缓冲区的最佳替代品,或者如何最好地使用打字稿转换管道。
谢谢
【问题讨论】:
标签: angular angular2-forms typescript1.8