我有这句话commerce_product--default
,我只想提取最后一部分,所以在这里default
,为此,我正在使用此RegEx RegExp(r'-\s*\K[^-]+$')
现在,我尝试在代码中显示它,但是我没有找到执行此方法的方法,我尝试使用stringMatch或replaceAll进行如下操作:
final type = 'commerce_product--default';
final newType = type.replaceAll(RegExp(r'-\s*\K[^-]+$'), type);
但这没用。谢谢您的帮助
最佳答案
要替换最后一次出现的-
之前的所有内容,您还可以匹配整行,直到最后一次出现它,并断言接下来的内容
是-
以外的所有字符的1+倍,直到字符串的结尾。
在替换中,使用一个空字符串。
^.*-\s*(?=[^-]+$)
Regex demo | Dart demofinal type = 'commerce_product--default';
final newType = type.replaceAll(RegExp(r'^.*-\s*(?=[^-]+$)'), '');
print(newType);
输出量default
关于regex - 在Dart中使用RegEx获取字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63171229/