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+“''''”) }`

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+“''''”) }`,javascript,Javascript,这就是我试图为discord机器人执行的代码,当有人说-bigletters,然后是他们想要的消息,exe时,我就有了它 -我喜欢馅饼 我希望它用表情符号替换每个字母,使其成为它所说的“大号字母”,但它不起作用,当我这样做时,它会输出“a b c d”或“abcd”-大号字母a b c d或abcd 有人能帮帮我吗?只是……别这样: if(command === 'bigletters') { String.prototype.replaceAll = function(str1, st

这就是我试图为discord机器人执行的代码,当有人说-bigletters,然后是他们想要的消息,exe时,我就有了它 -我喜欢馅饼 我希望它用表情符号替换每个字母,使其成为它所说的“大号字母”,但它不起作用,当我这样做时,它会输出“a b c d”或“abcd”-大号字母a b c d或abcd


有人能帮帮我吗?

只是……别这样:

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 + "'''")
}