dart语言中如何从一个字符串中取出符合给定正则的子字符串
时间: 2023-02-08 16:30:25 浏览: 121
c#正则表达式截取指定字符串之间的字符串。类文件直接用就可以了~
5星 · 资源好评率100%
Dart语言中使用正则表达式取出符合要求的子字符串可以使用RegExp类的allMatches()方法。
示例代码:
```
String str = "Hello, World!";
RegExp exp = new RegExp(r"[a-z]+");
Iterable<Match> matches = exp.allMatches(str);
for (Match m in matches) {
print(m.group(0));
}
```
上面的代码会在字符串 "Hello, World!" 中匹配出所有小写字母组成的子字符串并打印输出。
另外还可以使用 string.replaceAll(RegExp, String) 替换掉所有匹配的字符串
```
String text = 'hello world';
String newText = text.replaceAll(RegExp(r'world'), 'dart');
print(newText); // 'hello dart'
```
可以使用string.replaceFirst(RegExp, String) 替换第一个匹配的字符串
```
String text = 'hello world';
String newText = text.replaceFirst(RegExp(r'world'), 'dart');
print(newText); // 'hello dart'
```
string.split(RegExp) 方法将字符串按照正则表达式分割
```
String text = 'hello world';
List<String> newText = text.split(RegExp(r' '));
print(newText); // ['hello', 'world']
```
阅读全文