gpt4 book ai didi

flutter - 在Flutter,Dart中找到确切的单词

转载 作者:行者123 更新时间:2023-12-03 04:57:33 24 4
gpt4 key购买 nike

有什么方法可以在Dart中找到确切的单词或字符吗?

List<Type> _media = [
Device(one: 'abc', two: 'News'),
Device(one: 'bc', two: 'Television')
];

由于我正在尝试在类里面查询值
我的代码是这样的
  String Query(String value) {
return _media
.where((medium) => medium.one.toLowerCase().contains(value.toLowerCase()))
.map((medium) => (medium.two)).toString();

如果我把“BC”作为值(value),我期望得到的结果是“电视”而不是“新闻”
可能是因为我使用了 包含

正则表达式似乎正常工作,但我的代码根本不工作:(
  RegExp regExp = new RegExp(
r"(?<![\w\d])abc(?![\w\d])",
caseSensitive: false,
multiLine: false,
);

String Query(String value) {
return _media
.where((medium) => medium.one.toLowerCase().regExp.hasMatch(value))
.map((medium) => (medium.two)).toString();


你们能帮我找到解决方案吗? :)

最佳答案

String没有regExp属性,这就是为什么它不起作用的原因。您应该在hasMatch()对象上调用regExp:

_media.where((medium) => regExp.hasMatch(medium.one))

(您不需要 toLowerCase(),因为您的正则表达式已经不区分大小写)

但是,如果您只需要字符串匹配,则可以执行以下操作:
_media.where((medium) => medium.one.toLowerCase() == value)

关于flutter - 在Flutter,Dart中找到确切的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60322961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com