音译去除符号

3
我将尝试将 ®, ©, ', 和 ™ 转换成空格,即当它们被 slugify 时完全删除。
我尝试过以下方法:
var tr = require('transliteration');
var slugify = require('transliteration').slugify;

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

slugify(name, { lowercase: true })

例如,当我使用slugify在名称“ABC®: 123”上时,它会转换为: abc-r-123 然而,我想要的结果名称是: abc-123

据我所知,在JavaScript字符串中,0x...序列没有任何特殊含义。无论如何,该库似乎可以很好地转换这些字符。如果您不想进行转换,则应在将它们传递给slugify之前将其删除。 - Álvaro González
1个回答

1
以下是我完成它的步骤:

请参考下列步骤:

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

更多相关工作请查看Github链接


你的代码运行得非常好。我添加了一些我不想要slugified的内容:tr(name).replace(/\((r)\)|\((c)\)|\((tm)\)|®|©|™|'|ʼ/g, ''); - mayvn
如果您在音译之前从源字符串中删除实际字符,那么代码不是更容易理解吗? - Álvaro González
你觉得上面的代码哪一部分让你感到困难,你认为字符没有被移除? - Zeeshan Hassan Memon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接