在 dart-flutter 中将字符串拆分为字母

问题描述

我想将一个单词拆分成字符。 “Amir Abbas”包含一个空格。我使用:

List<String> singleWord = string.trim().split("");

但最终结果是:

A,m,i,r," ","",A,b,a,s

什么是“”字符?如何排除它? 我在 Flutter 和 ios 模拟器中使用它。

解决方法

以下代码没有给出您的结果。它不会为我拆分一个空字符。尝试再次输入您的字符串,最终您可能会发现隐藏的非法字符?

void main() {
  List<String> singleWord = "Amir Abbas".trim().split("");
  singleWord.forEach((element){
    print(element);
  });
}

enter image description here

,

您可以使用 where 方法过滤列表并排除空格

void main() {
  List<String> a = ["a","b",""];
  List<String> b = a.where((e) => e != "").toList();
  print(a); // ["a",""]
  print(b); // ["a","b"]
}
,

它在飞镖垫和我的应用程序中非常适合我。再次运行应用程序,你能再次提交输出吗

,

enter image description here通过替换 trim() 并仅使用 split() 来尝试这种方法。您可以根据需要更改以下代码

var names = "Amir and Abbas";
  List<String> namesSplit = names.split(" ");
  
  for(var i=0;i<namesSplit.length;i++){
    for(var j=0; j<namesSplit[i].length;j++){
      print(namesSplit[i][j]);  
    }
    
  }

输出: 一种 米 一世 r 一种 n d 一种 乙 乙 一种

,

您可以过滤符文并从 A-z 中获取所有字母。

List<String> singleWord = runes.where((rune) => rune > 64 && rune < 123).map((rune) => String.fromCharCode(rune)).toList()

print(singleWord); // prints [A,m,i,r,A,b,a,s]