Dart/Flutter:如何检查字符串是否包含字母、数字

3,332 阅读2分钟

Check if a string contains number in Dart or Flutter

Dart字符串字符示例

string 是一组用单引号或双引号括起来的字符。字符可以是以下任何一种类型

  • alphabetic characters:每个字符包含小写字母-a到z和大写字母-A到Z。
  • `字母数字字符:包含字母和数字字符。
  • Special characters: 一个字符像%,# ...等,不包括字母和数字字符。
  • numbers:
    一个像数字的字符被称为数字字符。

在这篇文章中,你将学习Dart中的以下内容:

  • 检查字符串是否包含字母

  • 检查字符串包含数字

  • 使用正则表达式检查字符串是否包含英文字母

  • 检查字符串是否含有字母数字和特殊字符

如何检查一个字符串是否包含数字?

这个例子检查一个字符串中是否包含数字。字符串有一个contains 方法,用匹配的模式检查一个给定的字符串。

bool contains(Pattern other, [int startIndex = 0])

模式是一个使用RegExp类创建的正则表达式 startIndex是一个字符串的起始位置,用来搜索模式。

下面是一个检查的dart程序

void main() {
  var str = "Hello";
  var str1 = "Hello123";

  print(str.contains(new RegExp(r'[0-9]'))); // false
  print(str1.contains(new RegExp(r'[0-9]'))); // true
}

如何检查一个字符串是否只包含数字

这个程序检查一个给定的字符串是否只包含数字而没有字母。

void main() {
  var str = "123";
  var str1 = "Hello123";

  print(str.contains(new RegExp(r'^[0-9]+$'))); // true
  print(str1.contains(new RegExp(r'^[0-9]+$'))); // false
}

例2:如何用正则表达式检查一个字符串是否包含字母?

正则表达式在dart中被支持,可以使用RegExp 标准内置包。

它包括检查正则表达式和针对文本的模式匹配。

第一个正则表达式模式是使用new RegExp() RegExp 创建的,用于检查匹配的字符串,正则表达式被用作regexp。

^[a-zA-Z]+

^- 字符串的开头
\[ - 字符组开始
a-z - 小写字母
A-Z - 大写字母
\] - 字符组结束
\+ - 一个或多个字符

下面是一个使用正则表达式来检查字符串是否包含字母的程序

void main() {
  var str = "abc";
  var str1 = "Hello123";

  print(str.contains(new RegExp('^[a-zA-Z]+'))); // true
  print(str1.contains(new RegExp('^[a-zA-Z]+'))); // false
}

输出

true  
false  

例3- 检查字符串是否包含字母数字字符或特殊字符

使用的正则表达式模式是^\[a-zA-Z0-9\_\]\*$

它对字母、数字和下划线字符返回true 。对特殊字符返回false -。

下面是一个检查字符串中字母和特殊字符的程序

void main() {
  var str = "abc_";
  var str1 = "Hello_123";

  print(str.contains(new RegExp('^[a-zA-Z0-9_]*'))); // true
  print(str1.contains(new RegExp('^[a-zA-Z0-9_]*'))); // true
}

当你编译和执行时,输出结果是

true  
true   

结论

综上所述,你学到了多个程序来检查Dart语言中含有字母、数字和特殊字符的字符串。