Javascript 替换字符串并计算字母表在字符串中的出现次数

Javascript 替换字符串并计算字母表在字符串中的出现次数,javascript,regex,Javascript,Regex,嗨,我有一个类型为“061801850010300-09/a/B”的字符串,我想做的是用“-”替换“/” 将“A”替换为“1”,将“B”替换为“2” 我的意思是我想展示A作为1,B作为2,C作为3的数学发生率。。。Z为26,以此类推 您可以匹配要替换的所有内容,并生成一个表达式以正确的内容替换它: input = input.replace(/([\/A-Z])/g, function(m) { return m == "/" ? "-" : m.charCodeAt(0) - 64 });

嗨,我有一个类型为“061801850010300-09/a/B”的字符串,我想做的是用“-”替换“/”

将“A”替换为“1”,将“B”替换为“2”


我的意思是我想展示A作为1,B作为2,C作为3的数学发生率。。。Z为26,以此类推

您可以匹配要替换的所有内容,并生成一个表达式以正确的内容替换它:

input = input.replace(/([\/A-Z])/g, function(m) {
  return m == "/" ? "-" : m.charCodeAt(0) - 64
});

演示:

这看起来不像JavaScript。@MathiasBynens:我错过了。我为Javascript重写了它。@Guffa
'A'。charCodeAt(0)=65
,而不是
1
。它为第一次出现的“/A”as“-1”返回了正确的值,但后来出现的值丢失了。现在工作了,thx将再测试几次。然后我会把它标对。
var result = "061801850010300-09/A/B"
.replace(/\//g, '-')
.replace(/[A-Z]/ig, function(c){
   return c.toUpperCase().charCodeAt(0)-64; 
});