我有这样的文字:预测者强烈反对\n\n将发生其他事件\n\n示例:-\n\n#:hashtag/424 \n#:hashtag/2818“,我需要获取424和2818(它们是id),并查找这些id的标题,然后将#:hashtag/424替换为#Title1我该怎么处理字符串呢?
n9vozmp41#
您可以使用如下正则表达式:
RegExp exp = RegExp(r'#:hashtag\/(\d+)'); String test = "Forecaster Strongly disagree \n\nSomething else is going to happen\n\nExample:-\n\n#:hashtag/424 \n#:hashtag/2818"; final matches = exp.allMatches(test); if(matches.isNotEmpty){ print (matches.first[0]!.split('/').last); } //prints 424
根据您对输入字符串的期望,可能需要进行一些附加的空检查要替换ID,可以使用replaceAllMapped方法,如下所示:
test.replaceAllMapped(exp, (match) => match[0]!.split('/').first + '/#Title1');
1条答案
按热度按时间n9vozmp41#
您可以使用如下正则表达式:
根据您对输入字符串的期望,可能需要进行一些附加的空检查
要替换ID,可以使用replaceAllMapped方法,如下所示: