Ank*_*hah 20 android dart flutter
如何在 dart flutter 中获取字符串的第一个字符。
例如,一个值为“Hello World”的字符串应该只返回“H”。我正在从我的 firestore 数据库中获取数据。我的代码是:
searchByName(String searchField) {
return Firestore.instance
.collection('posts')
.where('description',
isEqualTo: searchField.substring(0, 1).toUpperCase())
.getDocuments();
}
Run Code Online (Sandbox Code Playgroud)
我想从我从上面代码中的“描述”字段收到的数据中获取第一个字母。
Jor*_*sys 41
您可以通过获取 String 的第一个元素(由索引 0 表示)来完成此操作:
'${mystring[0]}'
Run Code Online (Sandbox Code Playgroud)
例子:
String mystring = 'Hello World';
print('${mystring[0]}');
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您将获得以下输出:
H
Run Code Online (Sandbox Code Playgroud)
Yan*_*iuk 29
要获取字符串的第一个字符,您应该使用方法substring 示例:
word.substring(0,1);
Run Code Online (Sandbox Code Playgroud)
对于在 Firebase 文档字段中执行搜索,这将起作用
void main() {
String mystring = 'Hello World';
String search = '';
for (int i=0;i<mystring.length;i++){
search += mystring[i];
print(search);
}
}
Run Code Online (Sandbox Code Playgroud)
输出
H
He
Hel
Hell
Hello
Hello
Hello W
Hello Wo
Hello Wor
Hello Worl
Hello World
Run Code Online (Sandbox Code Playgroud)
对我来说这有效。
需要获取第一个n值而不仅仅是一个值,并且Value not in range: 10使用子字符串不断出错,这里有一个辅助函数将字符串缩减为前 x 个字符:
//* Limits given string, adds '..' if necessary
static String shortenName(String nameRaw, {int nameLimit = 10, bool addDots = false}) {
//* Limiting val should not be gt input length (.substring range issue)
final max = nameLimit < nameRaw.length ? nameLimit : nameRaw.length;
//* Get short name
final name = nameRaw.substring(0, max);
//* Return with '..' if input string was sliced
if (addDots && nameRaw.length > max) return name + '..';
return name;
}
Run Code Online (Sandbox Code Playgroud)
用法:
return Helpers.shortenName('Sausage', nameLimit: 5);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31657 次 |
| 最近记录: |