我现在正在学习飞镖,我想知道如何在字符串中找到字母。我曾尝试使用charAt(),但Darteditor说:
Class'String'没有实例方法'charAt'。
所以我的问题是: 如何在dart中找到String中的字母?
例如,我有一个单词,我想在单词“Fire”中找到“i”。如果没有charAt,这怎么办?
var items = "fire";
for (int i = 0; items.length; i++){
if(items.indexOf(items(charAt(i)) !=-1){
//..
}
}
答案 0 :(得分:6)
正如评论中所述,您不必创建自己的功能,因为indexOf / allMatches / contains在大多数情况下都足够安静。
并且没有charAt()等效,因为String充当字符列表。您可以使用[] operator获取特定索引处的信函:
'Hello World'[6] //return 'W'
答案 1 :(得分:3)
我认为
items.indexOf('i');
print(items.indexOf('i')); // prints: 1 because 'i' is found on the 2nd position
是您正在寻找的,但您已在问题中使用它。
答案 2 :(得分:0)
使用 contains 方法!
如果此字符串包含 [other] 的匹配项,则返回 true:
var string = 'Dart strings';
string.contains('D'); // true
string.contains(new RegExp(r'[A-Z]')); // true
如果提供了 [startIndex],则此方法仅在此时间或之后匹配 索引:
string.contains('X', 1); // false
string.contains(new RegExp(r'[A-Z]'), 1); // false
[startIndex] 不得为负数或大于 [length]。
bool contains(Pattern other, [int startIndex = 0]);