【问题标题】:Dart find the capital word in a given StringDart 在给定的字符串中查找大写单词
【发布时间】:2022-01-19 14:06:11
【问题描述】:

如何编写代码,在 dart 中找到给定字符串中的大写单词

例如

String name ='deryaKimlonLeo'
//output='KL'

【问题讨论】:

  • var string = "Pub";string.split("");给出一个类似 ["P", "u", "b"] 的列表。所以使用 for 循环来得到你想要的
  • 如果您不想循环,请尝试使用模式。

标签: flutter dart


【解决方案1】:

嗯,如果你只想得到大字母,试试这个使用模式,然后试试这个

String name ='deryaKimlonLeo';
print(name.replaceAll(RegExp(r'[a-z]'),""));

//Output you wanted will be 
// KL

在飞镖垫上试试这个就可以了

【讨论】:

  • 谢谢你怎么知道你用的是哪种regs方法?
【解决方案2】:

这样做的基本方法是

void main() {
  String name = 'deryaKimlonLeo';

  String result = '';
  for (int i = 0; i < name.length; i++) {
    if (name.codeUnitAt(i) <= 90 && name.codeUnitAt(i) >= 65) {
      result += name[i];
    }
  }

  print(result);
}

更多关于ASCIIcodeUnitAt的信息。

【讨论】:

  • 你能解释一下代码单元
  • A ASCII 值为 65,90Z,您可以在附加链接中找到更多信息。
  • 非常感谢
【解决方案3】:

示例代码:

void main() {
  String test = "SDFSDdsfdDFDS";
  for (int i = 0; i < test.length; i++) {
    if (test[i].compareTo('A') >= 0  && test[i].compareTo('Z') <= 0)
      print(test[i]);
  }
}

【讨论】:

  • 好方法能不能多解释一下
  • 根据 compareTo 文档:“将此字符串与其他字符串进行比较。如果此字符串在其他字符串之前排序,则返回负值,如果此字符串在其他字符串之后排序,则返回正值,如果此字符串和其他字符串相等则返回零。 "所以你可以检查一个字符是否在 A 和 Z 之间,所以这个字符是大写的。
猜你喜欢
  • 2018-02-28
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多