String 按字母顺序对字符串进行颤振排序

String 按字母顺序对字符串进行颤振排序,string,flutter,sorting,dart,alphabetical,String,Flutter,Sorting,Dart,Alphabetical,我试图在flifter中按字母顺序对下面的字符串进行排序,但找不到任何类似的例子 String text = "Tividen Momos Momos Quite 100 grams"; 请指导我如何做同样的事情 String text = "Tividen Momos Momos Quite 100 grams"; 您可以使用拆分和排序支持来执行此操作 List<String> splitString = text.split(' ').

我试图在flifter中按字母顺序对下面的字符串进行排序,但找不到任何类似的例子

String text = "Tividen Momos Momos Quite 100 grams";
请指导我如何做同样的事情

String text = "Tividen Momos Momos Quite 100 grams";

您可以使用拆分和排序支持来执行此操作

List<String> splitString = text.split(' ').toList();
splitString.sort((a, b)=> a.compareTo(b)); ---> perform ascending or descending here

String data = '';
splitString.forEach((element) {
  data += ' $element';
});

print(data);

您可以将字符串转换为列表并对其进行排序,如下所示

  String text = "Tividen Momos Momos Quite 100 grams";
  List<String> textList = text.split(' ');
  textList.sort((a, b) => a.toLowerCase().compareTo(b.toLowerCase()));
  String TextSorted = textList.join(' ');
  
  print(TextSorted);

你可以像那样按字母顺序对字符串排序

String text = "Tividen Momos Momos Quite 100 grams";
List<String> split = text.split("");
split.sort();
print(split.toString());
String text=“Tividen Momos Momos 100克”;
列表拆分=文本。拆分(“”);
split.sort();
打印(split.toString());

欲了解更多信息,请阅读@Balasubramani Sundaram给出答案的每个单词

对于字符串中的每个字母表,您可以执行如下操作:

void main() {
var s="Tividen Momos Momos Quite 100 grams";
print(s);
var sRunes = s.runes;
List<int> listdata = sRunes.toList();
listdata.sort();
var sortedString="";
listdata.forEach((int rune) { 
    var chr=new String.fromCharCode(rune); 
    sortedString = sortedString + chr;
  }); 
print(sortedString);
}

定义为字符串上的延伸部分的一行:

import "package:collection/collection.dart";

void main() {
  String text = "Tividen Momos Momos Quite 100 grams";
  print(text.sortWords());
}

extension StringX on String {
  String sortWords({bool caseInsensitive = true}) {
    return (this.split(' ')
          ..sort(caseInsensitive ? compareAsciiUpperCase : null))
        .join(' ');
  }
}
您可以决定是否使用区分大小写的方法。

输入:
“Tividen Momos Momos 100克”

输出:
“DEINTV Mmoos Mmoos eiQtu 001 agmrs”

代码:

String text=“Tividen Momos Momos 100克”;
列表拆分=文本。拆分(“”);
var NewData=split.map((e){
拆分列表=e.拆分(“”);
splited.sort((a,b)=>a.toUpperCase().compareTo(b.toUpperCase());
返回拆分的。联接(“”);
}
);
打印(NewData.join(“”).toString());

你的意思是字符串中用空格分隔的每个单词吗?
splitString.sort((a,b)=>a.compareTo(b))这并不聪明,
splitString.sort()
也足够了,而不是毫无意义的
forEach
需要使用
splitString.join(“”)
在2021年使用
new
关键字pointless@Dude谢谢,下次我会记住的。
Tividen Momos Momos Quite 100 grams
     001MMQTadeegiiimmmnoooorssstuv
import "package:collection/collection.dart";

void main() {
  String text = "Tividen Momos Momos Quite 100 grams";
  print(text.sortWords());
}

extension StringX on String {
  String sortWords({bool caseInsensitive = true}) {
    return (this.split(' ')
          ..sort(caseInsensitive ? compareAsciiUpperCase : null))
        .join(' ');
  }
}
String text = "Tividen Momos Momos Quite 100 grams";
List<String> split = text.split(" ");

 
var NewData = split.map((e){
  List<String> splited = e.split('');
  splited.sort((a, b) => a.toUpperCase().compareTo(b.toUpperCase()));
  return splited.join('');
 }
);
  
  print(NewData.join(' ').toString());