如何在 dart 中切割一根线

yv5phkfx  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(125)

1

var userQuestion = '10+5-√x+96';

2

var userQuestion = '10+5-√x+96-√x-2+√x';

我希望得到字符串中平方根和下一个运算符之间的值,并将它们分组到不同的字符串中
如果我不知道字符串√x在dart中的索引,我怎么能把它切片呢?
并根据字符串中√x的个数生成其他字符串
例如,在1中,我想要一个字符串切片,将创建

var squareRoot = '√x';

在2中我想得到这样的东西

var squareRoot = '√x';
var squareRoot1 = '√x';
var squareRoot2 = '√x';
hgc7kmma

hgc7kmma1#

如果你想要所有的平方根,包括后面的任何东西,直到你遇到一个运算符,那么这个应该可以做到这一点:

var userQuestion = '10+5-√x+96-√y-2+√5/√123*√256';
var regexp = RegExp(r'(√[\w\d]+)[+\-*/]?');
var matches = regexp.allMatches(userQuestion);
var squareRoots = matches.map((e) => e.group(1)).toList();
print(squareRoots);

将打印:

[√x, √y, √5, √123, √256]

显然,如果变量的平方根数未知,就无法像以前那样声明变量名,因此必须使用List<String>来保存字符串,就像我在上面所做的那样。

相关问题