Javascript ReplaceAll不工作[JS] if(命令=='bigletters') { String.prototype.replaceAll=函数(str1、str2、忽略) { 返回此.replace(new RegExp(str1.replace(/([\/\,\!\\^$\\\\\\\\\[\]\(\)\.*\+\?\\\\\-\&])/g,“\\$&”),(忽略?“gi”:“g”),(typeof(str2)=“string”)?str2.replace(/\$/g,“$$”:str2); 让str=args.join(“”) 让olda=“a” 让oldb=“b” 让oldc=“c” 让oldd=“d” 让olde=“e” 让oldf=“f” 让oldg=“g” 让oldh=“h” 让oldi=“i” 让oldj=“j” 让oldk=“k” 让oldl=“l” 让oldm=“m” 让oldn=“n” 让oldo=“o” 让oldp=“p” 让oldq=“q” 让oldr=“r” 让我们 让oldt=“t” 让oldu=“u” 让oldv=“v” 让oldw=“w” 让oldx=“x” 让oldy=“y” 让oldz=“z” str.replaceAll(olda:“:区域指标a:”); str.replaceAll(oldb:“:区域指标”); str.replaceAll(旧代码:“:区域性指标:”); str.replaceAll(oldd:“:区域指标d:”); str.replaceAll(旧的:“:区域指标:”); str.replaceAll(oldf:“区域指标”); str.replaceAll(oldg:“:区域指标”); str.replaceAll(旧的:“:区域指标:”); str.replaceAll(区域:“:区域指标:”); str.replaceAll(oldj:“:区域指标”); str.replaceAll(oldk:“:区域指标”); str.replaceAll(旧版:“:区域指标:”); str.replaceAll(oldm,”:区域性指标; str.replaceAll(oldn:“:区域指标”); str.replaceAll(旧版:“:区域指标:”); str.replaceAll(oldp:“:区域性指标”); str.replaceAll(oldq:“区域性指标”); str.replaceAll(oldr:“:区域指标”); str.replaceAll(旧版:“:区域指标:”); str.replaceAll(oldt:“:区域性指标”); str.replaceAll(oldu,“:区域性指标”); str.replaceAll(旧版本:“:区域性指标:”); str.replaceAll(oldw:“:区域性指标”; str.replaceAll(oldx:“:区域性指标”); str.replaceAll(旧的:“:区域指标:”); str.replaceAll(oldz:“:区域性指标”; msg.channel.sendMessage(str+“'''''”+str+“''''”) }`
这就是我试图为discord机器人执行的代码,当有人说-bigletters,然后是他们想要的消息,exe时,我就有了它 -我喜欢馅饼 我希望它用表情符号替换每个字母,使其成为它所说的“大号字母”,但它不起作用,当我这样做时,它会输出“a b c d”或“abcd”-大号字母a b c d或abcdJavascript ReplaceAll不工作[JS] if(命令=='bigletters') { String.prototype.replaceAll=函数(str1、str2、忽略) { 返回此.replace(new RegExp(str1.replace(/([\/\,\!\\^$\\\\\\\\\[\]\(\)\.*\+\?\\\\\-\&])/g,“\\$&”),(忽略?“gi”:“g”),(typeof(str2)=“string”)?str2.replace(/\$/g,“$$”:str2); 让str=args.join(“”) 让olda=“a” 让oldb=“b” 让oldc=“c” 让oldd=“d” 让olde=“e” 让oldf=“f” 让oldg=“g” 让oldh=“h” 让oldi=“i” 让oldj=“j” 让oldk=“k” 让oldl=“l” 让oldm=“m” 让oldn=“n” 让oldo=“o” 让oldp=“p” 让oldq=“q” 让oldr=“r” 让我们 让oldt=“t” 让oldu=“u” 让oldv=“v” 让oldw=“w” 让oldx=“x” 让oldy=“y” 让oldz=“z” str.replaceAll(olda:“:区域指标a:”); str.replaceAll(oldb:“:区域指标”); str.replaceAll(旧代码:“:区域性指标:”); str.replaceAll(oldd:“:区域指标d:”); str.replaceAll(旧的:“:区域指标:”); str.replaceAll(oldf:“区域指标”); str.replaceAll(oldg:“:区域指标”); str.replaceAll(旧的:“:区域指标:”); str.replaceAll(区域:“:区域指标:”); str.replaceAll(oldj:“:区域指标”); str.replaceAll(oldk:“:区域指标”); str.replaceAll(旧版:“:区域指标:”); str.replaceAll(oldm,”:区域性指标; str.replaceAll(oldn:“:区域指标”); str.replaceAll(旧版:“:区域指标:”); str.replaceAll(oldp:“:区域性指标”); str.replaceAll(oldq:“区域性指标”); str.replaceAll(oldr:“:区域指标”); str.replaceAll(旧版:“:区域指标:”); str.replaceAll(oldt:“:区域性指标”); str.replaceAll(oldu,“:区域性指标”); str.replaceAll(旧版本:“:区域性指标:”); str.replaceAll(oldw:“:区域性指标”; str.replaceAll(oldx:“:区域性指标”); str.replaceAll(旧的:“:区域指标:”); str.replaceAll(oldz:“:区域性指标”; msg.channel.sendMessage(str+“'''''”+str+“''''”) }`,javascript,Javascript,这就是我试图为discord机器人执行的代码,当有人说-bigletters,然后是他们想要的消息,exe时,我就有了它 -我喜欢馅饼 我希望它用表情符号替换每个字母,使其成为它所说的“大号字母”,但它不起作用,当我这样做时,它会输出“a b c d”或“abcd”-大号字母a b c d或abcd 有人能帮帮我吗?只是……别这样: if(command === 'bigletters') { String.prototype.replaceAll = function(str1, st
有人能帮帮我吗?只是……别这样:
if(command === 'bigletters')
{
String.prototype.replaceAll = function(str1, str2, ignore)
{
return this.replace(new RegExp(str1.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),(ignore?"gi":"g")),(typeof(str2)=="string")?str2.replace(/\$/g,"$$$$"):str2);
let str = args.join(" ")
let olda = "a"
let oldb = "b"
let oldc = "c"
let oldd = "d"
let olde = "e"
let oldf = "f"
let oldg = "g"
let oldh = "h"
let oldi = "i"
let oldj = "j"
let oldk = "k"
let oldl = "l"
let oldm = "m"
let oldn = "n"
let oldo = "o"
let oldp = "p"
let oldq = "q"
let oldr = "r"
let olds = "s"
let oldt = "t"
let oldu = "u"
let oldv = "v"
let oldw = "w"
let oldx = "x"
let oldy = "y"
let oldz = "z"
str.replaceAll(olda, ":regional_indicator_a:");
str.replaceAll(oldb, ":regional_indicator_b:");
str.replaceAll(oldc, ":regional_indicator_c:");
str.replaceAll(oldd, ":regional_indicator_d:");
str.replaceAll(olde, ":regional_indicator_e:");
str.replaceAll(oldf, ":regional_indicator_f:");
str.replaceAll(oldg, ":regional_indicator_g:");
str.replaceAll(oldh, ":regional_indicator_h:");
str.replaceAll(regi, ":regional_indicator_i:");
str.replaceAll(oldj, ":regional_indicator_j:");
str.replaceAll(oldk, ":regional_indicator_k:");
str.replaceAll(oldl, ":regional_indicator_l:");
str.replaceAll(oldm, ":regional_indicator_m:");
str.replaceAll(oldn, ":regional_indicator_n:");
str.replaceAll(oldo, ":regional_indicator_o:");
str.replaceAll(oldp, ":regional_indicator_p:");
str.replaceAll(oldq, ":regional_indicator_q:");
str.replaceAll(oldr, ":regional_indicator_r:");
str.replaceAll(olds, ":regional_indicator_s:");
str.replaceAll(oldt, ":regional_indicator_t:");
str.replaceAll(oldu, ":regional_indicator_u:");
str.replaceAll(oldv, ":regional_indicator_v:");
str.replaceAll(oldw, ":regional_indicator_w:");
str.replaceAll(oldx, ":regional_indicator_x:");
str.replaceAll(oldy, ":regional_indicator_y:");
str.replaceAll(oldz, ":regional_indicator_z:");
msg.channel.sendMessage(str + " '''" + str + "'''")
}`
String.prototype.replace
接受正则表达式。如果正则表达式具有g
标志,它将替换字符串中的所有出现项。/[a-z]/
匹配小写字母“a”到“z”。$&
替换中的是匹配的文本
if (command === 'bigletters') {
const str = args.join(' ');
const replaced = str.replace(/[a-z]/g, ':regional_indicator_$&:');
msg.channel.sendMessage(str + " '''" + replaced + "'''")
}