【发布时间】:2021-04-09 06:40:31
【问题描述】:
我有一个字符串,例如:“???? c????ding question”。
我想将“????”、“????”和所有 Unicode 字母表情符号替换为相应的字母,如“a”、“o”等。
*注意:不确定这是否有帮助,但我相信 Unicode 字母表情符号被称为区域指示符。
【问题讨论】:
标签: javascript string unicode emoji
我有一个字符串,例如:“???? c????ding question”。
我想将“????”、“????”和所有 Unicode 字母表情符号替换为相应的字母,如“a”、“o”等。
*注意:不确定这是否有帮助,但我相信 Unicode 字母表情符号被称为区域指示符。
【问题讨论】:
标签: javascript string unicode emoji
这与您正在寻找的相似吗?:
let char = '?';
let cp = char.codePointAt(0);
let newChar = String.fromCodePoint(cp % 256);
console.log(newChar);
【讨论】:
多亏了 ktp 的一些指导,我最终找到了解决方案。这可能不是最有效的,但这是我暂时能想到的最好的。接受反馈。
//Loop through each character of the text
for (let i = 0; i < text.length; i++) {
//Check if the character is a emoji
if (text.charCodeAt(i) >= 255)
//Check if the character is ? or between ?
if (text.codePointAt(i) >= 127462 && text.codePointAt(i) <= 127487)
//Set the text equal to text with the emoji replaced as a lowercase letter equivalent
text =
text.substr(0, i) +
String.fromCodePoint(text.codePointAt(i) - 127365) +
text.substr(i + 2);
}
【讨论】:
if (text.charCodeAt(i) >= 255)。