You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何拆分扫描字符串并获取列表最后元素?

解决Flutter字符串拆分问题

你当前的问题是没有对scanBarcode字符串做拆分,直接把整个字符串塞进了列表,所以item列表里只有一个元素(就是完整的"Apple 20"),不管怎么取最后一个元素,得到的都是整个字符串。

正确的处理步骤:

  1. 用split()方法按空格拆分字符串,生成包含拆分后内容的列表:
String scanBarcode = "Apple 20";
// 按单个空格拆分,得到["Apple", "20"]
List<String> item = scanBarcode.split(' ');
  1. 然后直接取列表的最后元素即可:
// 两种方式都可以
String test = item[item.length - 1];
// 更简洁的写法
String test = item.last;

进阶处理(兼容多空格/首尾空格场景)

如果扫描的字符串可能有多个连续空格,或者首尾带空格,可以先去除首尾空格,再按任意数量空格拆分:

List<String> item = scanBarcode.trim().split(RegExp(r'\s+'));

完整Flutter示例

class BarcodeScanPage extends StatelessWidget {
  final String scanBarcode = "Apple 20";

  @override
  Widget build(BuildContext context) {
    List<String> item = scanBarcode.split(' ');
    return MaterialApp(
      home: Scaffold(
        body: Center(
          // 显示拆分后的数字部分
          child: Text(item.last),
        ),
      ),
    );
  }
}

内容的提问来源于stack exchange,提问作者Shoyo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:09:54