如何使用 .replace 和 match() 方法 javaScript
我需要替换从 match() 获得的一些数据;
这个返回字符串包含“总时间:9分24秒”
data.match(/Total time: [0-9]* minutes [0-9]* seconds/);
,但我只需要“9分24秒”,我尝试使用:
data.match(/Total time: [0-9]* minutes [0-9]* seconds/).replace("Total time:", "");
但出现错误“”
".replace is not a function"
有人可以帮助我吗?
i need to replace some data obtained from match();
This one return string that contain "Total time: 9 minutes 24 seconds"
data.match(/Total time: [0-9]* minutes [0-9]* seconds/);
but i need only "9 minutes 24 seconds", I try use:
data.match(/Total time: [0-9]* minutes [0-9]* seconds/).replace("Total time:", "");
but there is an error ""
".replace is not a function"
Can some one help me?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在正则表达式中使用捕获子表达式:
match()
返回一个数组,这就是为什么您无法对结果调用replace
— 没有Array#替换
方法。Use capturing sub expressions in your regex:
match()
returns an array, which is why you can't callreplace
on the result — there is noArray#replace
method.你可以摆脱使用 match 做这样的事情......
You could get rid of using match doing something like this...
JavaScript 将返回一个匹配数组,如果未找到匹配,则返回 null。原始代码尝试调用 Array 实例的
replace
方法,而不是调用其中的元素(字符串)。JavaScript will return an array of matches or null if no match is found. The original code attempts to call the
replace
method on an instance of an Array instead of the element (a String) within it.