我正在尝试使用JavaScript中的以下工作代码也在Dart中工作。
https://jsfiddle.net/8xyxy8jp/1/
var s = "We live, on the # planet earth";
var results = s.replace(/[^\w]+/g, '-');
document.getElementById("output").innerHTML = results;
给出输出
We-live-on-the-planet-earth
我试过这个Dart代码
void main() {
print( "We live, on the # planet earth".replaceAll("[^\w]+","-"));
}
但输出变得相同。
我在这里缺少什么?
答案 0 :(得分:3)
如果希望replaceAll()
将参数作为正则表达式处理,则需要传递RegExp
实例。我通常使用r
作为正则表达式字符串的前缀,使其成为一个原始字符串,而不是插值($
,\
,...)。
main() {
var s = "We live, on the # planet earth";
var result = s.replaceAll(new RegExp(r'[^\w]+'), '-');
print(result);
}
中试用