Dart 如何用替换字符串模式替换省道中的字符串
在带有正则表达式的C#或javascript中,我可以将替换模式描述为如下字符串:Dart 如何用替换字符串模式替换省道中的字符串,dart,Dart,在带有正则表达式的C#或javascript中,我可以将替换模式描述为如下字符串: var replaced = Regex.Replace(text, pattern, "$1AA$3"); void main() { final result = Utils.replace('the 2020 end', r'(\d+)', r'$1 year'); print(result); // the 2020 year end } class Utils { s
var replaced = Regex.Replace(text, pattern, "$1AA$3");
void main() {
final result = Utils.replace('the 2020 end', r'(\d+)', r'$1 year');
print(result); // the 2020 year end
}
class Utils {
static String replace(
String inputText, String pattern, String strReplacePattern) =>
inputText.replaceAllMapped(RegExp(pattern), (match) {
var replacedString = strReplacePattern;
for (var i = 0; i <= match.groupCount; i++) {
replacedString = replacedString.replaceAll('\$$i', match.group(i)!);
}
return replacedString;
});
}
在dart中,替换零件是一项功能
final newString = string.replaceAllMapped(RegExp(r'\b\w+\b'), (match) {
return '"${match.group(0)}"';
});
问题是,我想编写一个util函数,将strReplacePattern作为字符串接收
Utils.replace(inputText, strPattern, strReplacePattern) { ... }
编码器将简单地以字符串模式输入替换部分,不需要提供匹配/替换功能,如何在dart中实现这样的功能
我希望替换部分是字符串模式,而不是回调函数
谢谢我似乎找不到任何提供这种功能的软件包。但你可以试着自己做这样的:
var replaced = Regex.Replace(text, pattern, "$1AA$3");
void main() {
final result = Utils.replace('the 2020 end', r'(\d+)', r'$1 year');
print(result); // the 2020 year end
}
class Utils {
static String replace(
String inputText, String pattern, String strReplacePattern) =>
inputText.replaceAllMapped(RegExp(pattern), (match) {
var replacedString = strReplacePattern;
for (var i = 0; i <= match.groupCount; i++) {
replacedString = replacedString.replaceAll('\$$i', match.group(i)!);
}
return replacedString;
});
}
void main(){
最终结果=Utils.replace(“2020年底”,r'(\d+),r'$1年”);
打印(结果);//2020年底
}
类Utils{
静态字符串替换(
字符串输入文本、字符串模式、字符串替换模式)=>
inputText.replaceAllMapped(RegExp(模式),(匹配){
var replacedString=strresplacepattern;
对于(var i=0;我可以给出一个使用此方法的示例和预期输出?var res=Utils.replace('2020年底','(\d+),'1年');预期:2020年底