gpt4 book ai didi

javascript - 用整数替换字母并用它放置 "-"(破折号)

转载 作者:行者123 更新时间:2023-11-30 09:00:36 30 4
gpt4 key购买 nike

我目前正在使用以下 JavaScript 代码:

concatedSubstring.replace(/\//g, '-').replace(/[A-Za-z]/g, function(c){
return c.toUpperCase().charCodeAt(0)-64;
});

...以"1234/A""22/B"等格式输入并输出"1234-1" , "22-2"

/变为-,字母变为整数A=1,B=2等

我想更改此设置,以便如果输入不包含“/”,输出仍会在“/”应该出现的位置插入一个“-”。即输入"1234A"应该输出"1234-1",或者"22B"应该输出"22-2 "

最佳答案

即使对于包含多个数字/字母模式的输入,以下内容也应该有效:

var input = "1234/B 123a 535d";

var replaced = input.replace(/(\d+)(\/?)([A-Za-z])/g, function(m,p1,p2,p3) {
return p1 + "-" + (p3.toUpperCase().charCodeAt(0)-64);
});

alert(replaced); // "1234-2 123-1 535-4"

正则表达式:

/(\d+)(\/?)([A-Za-z])/g

...将匹配一个或多个数字后跟一个可选的正斜杠后跟一个字母,捕获每个部分供以后使用。

如果你pass a callback to .replace()然后将使用完整匹配的参数(我忽略了您的要求)和任何子匹配(我使用的)调用它。

关于javascript - 用整数替换字母并用它放置 "-"(破折号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9629334/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com