Javascript 符号的音译去除

Javascript 符号的音译去除,javascript,node.js,npm,transliteration,Javascript,Node.js,Npm,Transliteration,我正在试着音译®、),,和™ 变成空白字符,意味着当它们被删除时完全删除它们 以下是我试图做的: var tr = require('transliteration'); var slugify = require('transliteration').slugify; // replacement attempt tr("0xAE, 0xFEFF"); // ® tr("0xA9, 0xFEFF"); // © tr("0x2122, 0xFEFF"); // ™ slugify(name

我正在试着音译®、),,和™ 变成空白字符,意味着当它们被删除时完全删除它们

以下是我试图做的:

var tr = require('transliteration');
var slugify = require('transliteration').slugify;

// replacement attempt
tr("0xAE, 0xFEFF"); // ®
tr("0xA9, 0xFEFF"); // ©
tr("0x2122, 0xFEFF"); // ™

slugify(name, { lowercase: true })
例如,当我在“ABC®:123”这样的名称上使用slugify时,它会音译为:

abc-r-123

但是,我希望得到的名称如下:


abc-123

请参见以下步骤,我是如何做到的:

console.log(tr("ABC ©")); //Output: ABC (c)

var test1 = "ABC®: 123©" //test input to see results

var regex = /\((r)\)|\((c)\)/g; //regex to remove ® and ©, update on desire

console.log(tr(test1).replace(regex,'')); //Output: ABC: 123

//now sluggify
console.log(slugify(test1, { lowercase: true, separator: '-' })); //Output: abc-123

可以在AFAIK上看到进一步的工作,
0x…
序列在JavaScript字符串中没有任何特殊意义。在任何情况下,该库似乎都能很好地音译这些字符。如果你不想,那么你应该在将它们传递给Slagify之前移除它们。你这样做就像是施咒一样有效。我添加了一些我不想使用的代码:
tr(name)。replace(/\((r)\)|\((c)\)|\((tm)\)|®™)|™|'|"g/g",如果在音译之前从源字符串中删除实际字符,代码不是更容易理解吗?您觉得上面代码的哪一部分不容易理解?您认为字符在哪里没有被删除?