我希望根据节点中的注释将某些单词转换为图标.
我需要转换一个字符串,如:
This is my fav item :9044: and :456:
进入一个像js数组:
[ 9044,456 ]
我在线尝试了各种正则表达方式,但都没有产生正确的输出.
以前失败的尝试:
——————
var comment = 'This is my fav item :9044: and :456:'; comment.substring(comment.lastIndexOf(":")+1,comment.lastIndexOf(":")); // ':'
——————
var comment = 'This is my fav item :9044: and :456:'; comment.match(":(.*):"); // [ ':9044: and :456:','9044: and :456' ]
——————
var comment = 'This is my fav item :9044: and :456:'; comment.match(/:([^:]+):/); // [ ':9044:','9044' ]
解决方法
您可以使用regex.exec
var input = 'This is my fav item :9044: and :456: and another match :abc:'; let regex = /:(\w+):/g; let results = []; let number; while(number = regex.exec(input)) { results.push(number[1]); } console.log(results); regex = /:\w+:/g; results = input.match(regex).map(num => num.replace(/:/g,'')); console.log(results); // And it you want to cast numbers results = input.match(regex).map(num => { num = num.replace(/:/g,''); return Number.isNaN(+num) ? num : +num; }); console.log(results);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。