替换字符串中的字符串和计数字符串的发生

问题描述:

嗨,我有一个这种类型的字符串“061801850010300-09/A/B”,我想要做的是,我想用“ - ”替换“/”。替换字符串中的字符串和计数字符串的发生

替换 “A” 与 “1” 和 “B” 与 “2”

我的意思是我想显示A的数学发生为1,B为2,C 3- ... Z为26等等。

var result = "061801850010300-09/A/B" 
.replace(/\//g, '-') 
.replace(/[A-Z]/ig, function(c){ 
    return c.toUpperCase().charCodeAt(0)-64; 
}); 
+0

它将第一次出现“/ A”的正确值返回为“-1”,但后来发生的事件被错过。 – 2012-02-15 08:18:48

+0

现在工作thx会再测试几次。那么我会标记它是正确的。 – 2012-02-15 08:23:46

+0

顺便说一句,它编辑后它工作。 – 2012-02-15 08:24:32

可以匹配要替换的一切,并作出表达正确的事情来替代它:

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

演示:http://jsfiddle.net/Guffa/g2sgb/

+0

这看起来并不像JavaScript。 – 2012-02-15 08:16:43

+0

-1 OP需要Javscript。 __NOT__ C#。 – 2012-02-15 08:17:06

+0

@MathiasBynens:我错过了。我重写了它的Javascript。 – Guffa 2012-02-15 08:25:21