我目前正在使用
替换所有非字母字符var stringwithoutspecialCharacter = "testwordwithpunctiuation.".replace(/[^\w\s!?]/g, '');
问题是我不知道会出现哪个特殊字符(需要删除)。但是,在我使用没有特殊字符的单词运行某些代码后,我确实需要能够访问已删除的特殊字符。
示例输入:
"test".
(temporary)
foo,
期望的输出:
['"','test','"',"."]
['(','temporary',')']
['foo',',']
如何在javascript中实现这一目标?
答案 0 :(得分:0)
编辑:要同时获取有效和无效字符,请更改正则表达式
快速解决方案是定义一个数组来收集匹配项。
然后将函数传入replace()
调用
var matches = [];
var matcher = function(match, offset, string) {
matches.push(match);
return '';
}
var stringwithoutspecialCharacter = "testwordwithpunctiuation.".replace(/[^\w\s!?]|[\w\s!?]+/g, matcher);
console.log("Matches: " + matches);