Javascript 如何用另一个字母/特殊字符替换字符串中的所有字母?
我正在尝试制作一个小的节点应用程序,让我可以将文本转换为双击“字母”。我对JavaScript相当陌生,我想知道最好的方法是什么 我可以使用:Javascript 如何用另一个字母/特殊字符替换字符串中的所有字母?,javascript,node.js,Javascript,Node.js,我正在尝试制作一个小的节点应用程序,让我可以将文本转换为双击“字母”。我对JavaScript相当陌生,我想知道最好的方法是什么 我可以使用:string.replace(“A”,doublestruck.uppercase.A)(见下文)62(26个大写字母,26个小写字母,10个数字),但我觉得肯定有更好的方法 // specialcharacters.js const doubleStruckUpper = { A: ".replace lets you use a fun
string.replace(“A”,doublestruck.uppercase.A)
(见下文)62(26个大写字母,26个小写字母,10个数字),但我觉得肯定有更好的方法
// specialcharacters.js
const doubleStruckUpper = {
A: ".replace
lets you use a function:
const doubleStruckUpper = {
A: "Another example is to map
each character in the string
to double struck. If you don't need to keep double struck characters in 3 different maps, I would recommend merging them into a single map (eg: doubleStruckAll
), then you can simply map as below:
var string = "Change this to double-struck characters";
const result = [...string].map(letter => {
const replaced = doubleStruckAll[letter];
return replaced ? replaced : letter;
}).join('')
console.log(result);
//specialcharacters.js
常数doubleStruckUpper={
答:“.replace
允许您:
const doubleStruckUpper={
答:“另一个例子是将字符串中的每个字符映射为双击字符。如果您不需要在3个不同的映射中保留双击字符,我建议将它们合并到一个映射中(例如:doubleStruckAll
),那么您可以简单地映射如下:
上面的代码将字符串扩展为一个字符数组,然后将每个字符映射为双击字符(如果双击字符中存在条目,则返回替换字符,否则返回原始字符)。然后将新数组连接回一个字符串。ES6/ES2015引入了一种在星体平面中表示Unicode点的方法(任何需要超过4个字符的Unicode代码点),将代码包装在图形括号中
const unicodePoints={
A:“\u{1D538}”,
B:“\u{1D539}”,
C:“\u{2102}”,
D:“\u{1D53B}”,
E:“\u{1D53C}”,
F:“\u{1D53D}”,
G:“\u{1D53E}”,
H:“\u{210D}”,
I:“\u{1D540}”,
J:'\u{1D541}',
K:“\u{1D542}”,
L:“\u{1D543}”,
M:“\u{1D544}”,
N:“\u{2115}”,
O:“\u{1D546}”,
P:“\u{2119}”,
Q:“\u{211A}”,
R:“\u{211D}”,
S:“\u{1D54A}”,
T:“\u{1D54B}”,
U:“\U{1D54C}”,
V:“\u{1D54D}”,
W:“\u{1D54E}”,
X:“\u{1D54F}”,
Y:“\u{1D550}”,
Z:“\u{2124}”
};
console.log(“将其更改为双击字母”。替换(/[A-Z]/g,el=>unicodePoints[el].normalize());
有一些改进,这些改进是可以做到的。基本上,您是在StringLength*26的O(N)处运行的。尽管Object.keys(双击)。forEach(key=>Object.keys),它可以改进为StringLength(双击[key]).forEach(k=>string.replace(新的RegExp(k,'g'),双击[key][k]))