2

大家好,我正在尝试删除或隐藏列表中的最后一个字母

有什么可能的方法吗?

Text(list[i].name,
          style: GoogleFonts.poppins(
              fontWeight: FontWeight.w400,
              color:
              list[i].isBook == "0"
                  ? selectedTimingSlot[i] ? WHITE : BLACK
                  : Colors.grey.withOpacity(0.5),
              fontSize: 15,
          ),
        ),

**Above code shows= "12:00 AM" I need to hide or remove "AM"**

4

3 回答 3

6

使用substring方法:

main() {
  print("12:00 AM".substring(0,5));
}

或者用replaceAll方法:

main() {
  print("12:00 AM".replaceAll("AM","").replaceAll("PM",""));
}

使用正则表达式:

main() {
  var regex = new RegExp(r'[a-zA-Z]');
  print("02:00 AM".replaceAll(regex,""));
}
于 2021-03-21T06:39:47.747 回答
1

Ketan 的 substring 方法是一种糟糕的方法,“9:00 PM”呢?

编辑:看起来他的方法很有效!

使用正则表达式和/或以下包:

https://pub.dev/packages/string_validator

于 2021-03-21T06:43:24.697 回答
0

我这样做的方式是使用此扩展程序

extension StringExtension on String {
  String deleteLastChar({int toDelete = 1}) => substring(0, length - toDelete);
}

你可以像这样使用

"12:00 AM".deleteLastChar(toDelete: 3) // Prints 12:00

为什么toDelete: 3?因为您还想删除 and 之间的12:00空格AM

于 2021-03-21T07:51:46.523 回答