Google Dart:Dart strrev()函数

时间:2012-10-19 21:33:30

标签: dart

我想知道是否有像PHP的 strrev()这样的Dart函数。如果没有,请您显示我的任何源代码如何自己制作?

谢谢。

5 个答案:

答案 0 :(得分:3)

列表可以颠倒,因此您也可以使用它来反转String:

new String.fromCharCodes("input".charCodes.reversed.toList());

答案 1 :(得分:2)

我还没有在API中找到一个,作为一个全新的Dart用户(截至今天下午)。但是,在任何语言中反转字符串都很容易。这是Dart形式的典型O(n)解决方案:

String reverse(String s) {
  var chars = s.splitChars();
  var len   = s.length - 1;
  var i     = 0;

  while (i < len) {
    var tmp = chars[i];
    chars[i] = chars[len];
    chars[len] = tmp;
    i++;
    len--;
  }

  return Strings.concatAll(chars);
}

void main() {
  var s = "dog";
  print(s);
  print(reverse(s));
}

答案 2 :(得分:1)

可能是标准化的reverse()方法将来会在List(dart issue 2804)中实现,以下是比以前典型解决方案快8到10倍的速度:

String reverse(String s) {
  // null or empty
  if (s == null|| s.length == 0)
    return s;
  List<int> charCodes = new List<int>();
  for (int i = s.length-1; i>= 0; i-- )
    charCodes.addLast(s.charCodeAt(i)) ;
  return new String.fromCharCodes(charCodes);
}

答案 3 :(得分:1)

尝试此方法,而不是其他方法。

String try(str) {
  return str.split('').reversed.join('');
}

答案 4 :(得分:0)

String theString  = "reverse the string";

List<String> reslt = theString.split("");
List<String> reversedString = List.from(reslt.reversed);  
String  joinString = reversedString.join("");
print(joinString);

输出:gnirts eht esrever