我有一个像"06:35PM"
这样的字符串。我想在上午/下午之前添加一个空格,结果是"06:35 PM"
。
var timeValue = "06:35PM";
var hours = Number(timeValue.match(/^(\d+)/)[1]);
var minutes = Number(timeValue.match(/:(\d+)/)[1]);
var AMPM = timeValue.match(/\s(.*)$/)[1];
travelInfo.PreCruise[field] = hours + ":" + minutes + " " + AMPM;
但是在第4行,我收到了这个错误:Cannot read property '1' of null
。
如何编写正则表达式来执行此操作?
答案 0 :(得分:1)
怎么样?:
str.replace("A", " A").replace("P", " P");
答案 1 :(得分:1)
只需执行一次替换而不解析数字:
timeValue = timeValue.replace(/[AP]/, " $&");
var timeValue = "06:35PM";
timeValue = timeValue.replace(/[AP]/, " $&");
console.log(timeValue);
正则表达式[AP]
与A
或P
匹配。替换字符串具有您想要的空间,$&
表示“插入此处匹配的任何内容”,这意味着如果$&
为A
,A
将采用值P
匹配,或P
,如果它是匹配的 $(document).ready(function() {
$("#section1").click(function() {
$("#section2").toggle();
$("#section3").toggle();
$("#section4").toggle();
$("#section5").toggle();
});
});
$(document).ready(function() {
$("#section2").click(function() {
$("#section1").toggle();
$("#section3").toggle();
$("#section4").toggle();
$("#section5").toggle();
});
});
$(document).ready(function() {
$("#section3").click(function() {
$("#section2").toggle();
$("#section1").toggle();
$("#section4").toggle();
$("#section5").toggle();
});
});
$(document).ready(function() {
$("#section4").click(function() {
$("#section2").toggle();
$("#section3").toggle();
$("#section1").toggle();
$("#section5").toggle();
});
});
$(document).ready(function() {
$("#section5").click(function() {
$("#section2").toggle();
$("#section3").toggle();
$("#section4").toggle();
$("#section1").toggle();
});
});
$(document).ready(function() {
$("#section1text").click(function() {
$("#section2").toggle();
$("#section3").toggle();
$("#section4").toggle();
$("#section5").toggle();
});
});
$(document).ready(function() {
$("#section2text").click(function() {
$("#section1").toggle();
$("#section3").toggle();
$("#section4").toggle();
$("#section5").toggle();
});
});
$(document).ready(function() {
$("#section3text").click(function() {
$("#section2").toggle();
$("#section1").toggle();
$("#section4").toggle();
$("#section5").toggle();
});
});
$(document).ready(function() {
$("#section4text").click(function() {
$("#section2").toggle();
$("#section3").toggle();
$("#section1").toggle();
$("#section5").toggle();
});
});
$(document).ready(function() {
$("#section5text").click(function() {
$("#section2").toggle();
$("#section3").toggle();
$("#section4").toggle();
$("#section1").toggle();
});
});
。
答案 2 :(得分:0)
将s
替换为S
作为s
找到您不具备的空白字符,
var AMPM = timeValue.match(/\S(.*)$/)[1];
答案 3 :(得分:0)
或许可以像在最后两个字母之前添加空格一样简单
<强>演示强>
5
&#13;
答案 4 :(得分:0)
你可以这样做
var timeValue = "06:35PM";
// get the last two characters
var last2 = timeValue.slice(-2);
// Create a substring removing the last two characters
var x = timeValue.substr(0, timeValue.length-2)
// concat them adding a space in between
var t = x+' '+last2
console.log(t)
答案 5 :(得分:0)
.as-console-wrapper { max-height: 100% !important; top: 0; }
{{1}}
答案 6 :(得分:0)
试试这个正则表达式。
/\S(.*)$/
希望它有所帮助。