我喜欢" 33分钟"和" 2小时20分钟"例如,我希望它们缩写为" 33m"和" 2h20m。"
到目前为止,我有这个(基于堆栈交换上的类似问题):https://jsfiddle.net/3tzrs7we/
var str1 = "33 minutes";
var str2 = "2 hours 20 minutes";
var str3 = str1.replace(/(\w)\w*\W*/g, function(_, i) {
return i.toUpperCase();
})
var str4 = str2.replace(/(\w)\w*\W*/g, function(_, i) {
return i.toUpperCase();
})
alert(str3 + ", " + str4);

但是那回归" 3M"和" 2H2M。"
(这只是一个例子,在我的代码中看起来像${r.time.replace(/(\w)\w*\W*/g, function (_, i) {return i.toUpperCase();})}
)
答案 0 :(得分:0)
我认为你不需要在这个有限的案例中使用正则表达式:
var long = "2 hours 20 minutes";
var short = long.replace(" minutes", "m").replace(" hours", "h");
答案 1 :(得分:0)
例如,
var str2 = " 2 hours 20 minutes ";
document.write(str2.replace(/([a-z])\w+|\s+/g, "$1"))
答案 2 :(得分:0)
var str1 = "33 minutes";
var str2 = "2 hours 20 minutes";
var str3 = str1.replace(/(\w)\w*\W*/g, function(_, i) {
return i.toLowerCase();
})
var str4 = str2.replace(/(\w)\w*\W*/g, function(_, i) {
return i.toLowerCase();
})
alert(str3 + ", " + str4);