PHP のstrrev()のような Dart 関数があるかどうか知りたいです。そうでない場合は、自分で作成する方法をソース コードで示してもらえますか?
ありがとうございました。
リストは逆にすることができるので、これを使用して文字列を逆にすることもできます。
new String.fromCharCodes("input".charCodes.reversed.toList());
まったく新しい 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));
}
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);
}