如何使用Javascript将缩写字母转换为完整单词

时间:2019-05-04 20:13:35

标签: javascript

我有一组测试方案,无论输入字符串是什么,其输出结果都应该相同。

输入: 情况:

Test 2019
T2019

输出:

Test 2019

类似地,还有其他情况:

W2019 // output shd be Website
H2020 // shd result in Home2020
Su2000 // shd result in Summer2000

到目前为止,我有:

function getValue(value) {
    var letter = value.replace(/[^a-zA-Z]/g, '');
    var number = value.replace(/[^0-9]/g, '');
return (
  <div style="text-transform: capitalize">{letter}</div>
 <div>{number}</div>
)

}

console.log(getValue("2000 Website"));

我能够将首字母大写,但是不确定在上述示例中将缩写字母转换为完整单词的最佳方法。

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

如果,您只有四个选项来匹配全字,然后是数字,那么我会使用简单的Map,或者甚至可以使用普通的JS对象来将您的缩写与词典词进行映射

let input = "S2019";

const MAPPING = new Map();
MAPPING.set("S", "Spring");
MAPPING.set("Su", "Summer");
MAPPING.set("F", "Fall");
MAPPING.set("W", "Winter");

function getValue(value) {
    
    let regex = /([a-z]+)(\d+)/gi;
    let result = regex.exec(value);
    if(MAPPING.has(result[1])) return `${MAPPING.get(result[1])} ${result[2]}`
    else return value;
}

console.log(getValue(input));