Flutter 将字符串转换为数组

Posted

技术标签:

【中文标题】Flutter 将字符串转换为数组【英文标题】:Flutter converting a string into array 【发布时间】:2019-08-16 19:51:38 【问题描述】:

我正在尝试将长字符串文本更改为数组,在 dart 中有一些方法为 String.split 但它在 Flutter 中不起作用,是否有任何解决方案可以将字符串按空格转换为数组然后在 Listview 中使用数组

【问题讨论】:

split 在颤振中工作 - 毕竟它使用飞镖 谢谢,也许我忘了在我的代码中添加 dart Convert 包 转换? split()String方法,Convert跟它有什么关系? 哦,我明白了,我认为它来自转换类 :( 【参考方案1】:

使用String.split 创建List(Dart 等效于一个数组)后,我们有一个List<String>。如果您想在ListView 中使用List<String>,则需要一个显示文本的Widget。您可以简单地使用 Text 小部件。

以下功能可以帮助您做到这一点:

    String.split:拆分String 以创建List List<String>.map:将String 映射到小部件 Iterable<Widget>.toList:将Map 转换回List

下面是一个快速的独立示例:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget 
  static const String example = 'The quick brown fox jumps over the lazy dog';

  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      home: Scaffold(
        body: ListView(
          children: example
              .split(' ')                       // split the text into an array
              .map((String text) => Text(text)) // put the text inside a widget
              .toList(),                        // convert the iterable to a list
        )
      ),
    );
  

【讨论】:

谢谢,我会尝试它有点短,看起来更容易,我写的有点不同 静态列表 Calories=name.split(" "); final foods=List.generate(15,(i)=> "$Myarray[i] $Calories[i]"); body: ListView.builder( itemCount: foods.length, itemBuilder: (context,index) return ListTile( title: Text('$foods[index]'), 您可能想将代码添加到您的问题中,以阐明您的目标和您尝试过的内容! 好的,非常感谢,我不知道可以在问题中添加代码,因为我是新来的,我会尝试在未来添加 您可以使用 RegEx 和 allMatches 将其拆分为每 2 个字符。或者一个简单的for循环。我建议你搜索谷歌/任何基于正则表达式的解决方案。如果你找不到任何东西,请再次告诉我@JohnSmithly。

以上是关于Flutter 将字符串转换为数组的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:将整数列表转换为一行中的字符串列表

Flutter Pod 安装失败 - '无效的 `Podfile` 文件没有将 nil 隐式转换为字符串

如何将 Future<dynamic> 转换为 dart:flutter 中的字符串

Flutter - 将 Java 例程转换为颤振

将rowdatapacket转换为数组,如何将mysql node.js api rowdatapacket转换为数组,将字符串转换为数组

js字符串每个数组前面数字转换为多少个数组