我有一个功能,可以用给定的表情符号替换字符串代码的函数。
这个函数的功能如预期一样,但是它也会在单词中存在任何给定的CHARS[key]时进行转换。
例如,将这个函数传递给包含URL的字符串:
export const CHARS = {
":)": "",
"(:": "",
":-)": "",
":(": "",
"):": "",
":-(": "",
":/": "",
}
convertEmoji = string => {
const escape = s => s.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")
const pattern = new RegExp(
Object.keys(CHARS).map(escape).join("|"),
"g"
)
return string.replace(pattern, match => CHARS[match])
}
这个函数的功能如预期一样,但是它也会在单词中存在任何给定的CHARS[key]时进行转换。
例如,将这个函数传递给包含URL的字符串:
https://google.com
Becomes:
https/google.com
我希望replace函数只在给定句子中以单词形式呈现的表情符号代码时起作用。例如:
:) 你好,世界! - 此处函数应该有效。
:)你好,世界! - 此处函数不应该起作用,因为表情符号代码没有正确的空格。
请帮助我解决这个问题。
https://google.com
传递给convertEmoji
函数呢? - h0r53