首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查list是否包含字符串,但字符串值来自其他省道文件

问如何检查list是否包含字符串,但字符串值来自其他省道文件
EN

Stack Overflow用户
提问于 2022-04-14 09:05:35
回答 2查看 210关注 0票数 0

如你所见,我有一份清单:

代码语言:javascript
复制
  List avatarList = [
    AssetsResources.VIP1,
    AssetsResources.VIP2,
    AssetsResources.VIP3,
    AssetsResources.VIP4,
    AssetsResources.VIP5,
    AssetsResources.w1,
    AssetsResources.w2,
  ];

我知道我可以用方法:

代码语言:javascript
复制
final bool isVIP = avatarList[index].contains('VIP');

但是由于AssetsResources.VIP1不是像'VIP1'那样的字符串,而是来自其他省道文件的路径,所以这里我不知道如何检查来自avatarList的元素是否包含VIP值,谢谢您的任何提示!

更新

谢谢大家的帮助,对不起我没有说清楚,我的意思是,如果

代码语言:javascript
复制
  List idealList = [
    'vip1',
    'vip2',
    'vip3',
    'vip4',
    'vip5',
  ];

因此,idealList中的元素是'vip1',但在我的示例中,列表myList是

代码语言:javascript
复制
  List myList = [
    AssetsResources.VIP1,
    AssetsResources.VIP2,
    AssetsResources.VIP3,
    AssetsResources.VIP4,
    AssetsResources.VIP5,
    AssetsResources.w1,
    AssetsResources.w2,
  ];

因此,我似乎不能像下面这样直接使用某种方法

代码语言:javascript
复制
final bool isVIP = myList[index].contains('VIP');

由于来自myList的元素只是一条路径(对不起,我不知道如何调用这个值),在我的例子中,您能告诉我如何检查这个路径是否包含'VIP'值吗?谢谢!

更新是的,AssetsResources非常简单,只需存储资产路径:

代码语言:javascript
复制
class AssetsResources {
  /*worm avatar*/
  static const String VIP1 = 'assets/worms/VIP_1.svg';
  static const String VIP2 = 'assets/worms/VIP_2.svg';
  static const String VIP3 = 'assets/worms/VIP_3.svg';
  static const String VIP4 = 'assets/worms/VIP_4.svg';

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-14 15:29:11

代码应该工作得很好:

代码语言:javascript
复制
class AssetsResources {
  /*worm avatar*/
  static const String VIP1 = 'assets/worms/VIP_1.svg';
  static const String VIP2 = 'assets/worms/VIP_2.svg';
  static const String VIP3 = 'assets/worms/VIP_3.svg';
  static const String VIP4 = 'assets/worms/VIP_4.svg';
}

void main() {
  List myList = [
    AssetsResources.VIP1,
    AssetsResources.VIP2,
    AssetsResources.VIP3,
    AssetsResources.VIP4,
  ];

  for (final asset in myList) {
    print(asset);
    print(asset.contains('VIP'));
  }
}

上述指纹:

代码语言:javascript
复制
assets/worms/VIP_1.svg
true
assets/worms/VIP_2.svg
true
assets/worms/VIP_3.svg
true
assets/worms/VIP_4.svg
true
票数 0
EN

Stack Overflow用户

发布于 2022-04-14 10:39:40

如果我没听错的话。

代码语言:javascript
复制
void main() {
  for(var i = 0; i < avatarList.length; i++) {
    String element = avatarList[i];
    
    if(element.contains('VIP')) {
      print(other.contains(element)); // true
      print(other.firstWhere((e) => e.contains(element))); // 'VIP1', 'VIP2', 'VIP3', 'VIP4', 'VIP5'
    }
  }
}

List<String> avatarList = ['VIP1', 'VIP2', 'VIP3', 'VIP4', 'VIP5', 'w1', 'w2'];
List<String> other = ['VIP1', 'VIP2', 'VIP3', 'VIP4', 'VIP5', 'w1', 'w2'];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71869082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档