使用javascript regex replace替换替换字符

时间:2017-10-09 19:11:20

标签: javascript regex

我目前正在使用

替换所有非字母字符
var stringwithoutspecialCharacter = "testwordwithpunctiuation.".replace(/[^\w\s!?]/g, '');

问题是我不知道会出现哪个特殊字符(需要删除)。但是,在我使用没有特殊字符的单词运行某些代码后,我确实需要能够访问已删除的特殊字符。

示例输入:

"test".
(temporary)
foo,

期望的输出:

['"','test','"',"."]
['(','temporary',')']
['foo',',']

如何在javascript中实现这一目标?

1 个答案:

答案 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);