flutter 无法在dart中连接两个字符串

6tqwzwtp  于 2023-06-24  发布在  Flutter
关注(0)|答案(4)|浏览(137)

下面是我的代码:

onPressed: () {
  link = links[sessName.indexOf(str, 0)];
  print('$link.txt');
},

sessName -链接数组。例如,我将给予第一个元素:'http://lingvostim.com/LS2018/about'
我需要在link的末尾添加'.txt'。我不知道为什么字符串插值不起作用。控制台仅显示'http://lingvostim.com/LS2018/about'。我会很高兴你的帮助。

我发现如果你这样写:print('**something**$link. txt');一切正常。为什么如果你在变量之前写一些东西,它会工作?

r8uurelv

r8uurelv1#

是否应该添加null感知运算符**'??'如果未找到索引,则将空字符串分配给链接变量。这是添加null感知运算符后的代码。另外,还必须定义link变量是否为String**。

onPressed: () {
  String link = links[sessName.indexOf(str)] ?? '';
  print('${link ?? ''}.txt');
},
kr98yfug

kr98yfug2#

如果你尝试直接打印你的值'http://lingvostim.com/LS2018/about',它应该可以正常工作。只要确保links[sessName.indexOf(str, 0)]表达式返回预期值即可。

sqougxex

sqougxex3#

使用圆括号和美元进行连接
onPressed: () {link = links[sessName.indexOf(str, 0)]??';print('${link}.txt');}

wf82jlnq

wf82jlnq4#

我只需要删除行尾的字符。

onPressed: () {
  int index = sessName.indexOf(str, 0);
  String link = index != -1 ? links[index] : '';
  link = link.substring(0, link.length - 1);
  print('$link.txt');
},

相关问题