0

PHP のstrrev()のような Dart 関数があるかどうか知りたいです。そうでない場合は、自分で作成する方法をソース コードで示してもらえますか?

ありがとうございました。

4

5 に答える 5

3

リストは逆にすることができるので、これを使用して文字列を逆にすることもできます。

new String.fromCharCodes("input".charCodes.reversed.toList());
于 2013-02-09T23:50:20.443 に答える
2

まったく新しい Dart ユーザーとして (今日の午後の時点で)、API で 1 つも見つかりませんでした。ただし、文字列を逆にすることは、どの言語でも非常に簡単です。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));
}
于 2012-10-20T03:12:06.370 に答える
1

May be a standardized reverse() method will be implemented in future in List (dart issue 2804), the following is about 8 to 10 times faster than the previous typical solution:

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);
}
于 2012-10-21T22:24:47.433 に答える