在javascript中如何添加或删除's'来自数量字符串
In javascript how to add or remove 's' from a quantity string
我有一个从数据库(如7 Months 5 Days
)返回的字符串。
问题是,当它是1个月1日时,它仍然显示为1 Months 1 Days
,请注意Months
和Days
中的字母s
。
我不允许使用像1 Month(s) 1 Day(s)
这样的括号。
请告诉我,如果不到2天,我如何才能提出一个条件,即删除s
?
以下内容不起作用。我该怎么办?
JS-
var YYMM = '1 Months 1 Days'; // simulated data.
if (YYMM.indexOf('1') > -1) {
YYMM.replace('s', '');
console.log('YYMM is: ', YYMM);
}
非常感谢
单个带有replace的regexp就可以做到:
var reg = /'b1'b's(Month|Day)s/g;
alert( '1 Months 1 Days'.replace(reg, '1 $1') );
alert( '11 Months 21 Days'.replace(reg, '1 $1') );
alert( '12 Months 1 Days'.replace(reg, '1 $1') );
这只是一种情况,所以:
'1 Months 1 Days'.replace(/'b1 Months/, '1 Month')
.replace(/'b1 Days/, '1 Day');
将起作用。
document.getElementById('div1').textContent
= '1 Months 1 Days'.replace(/'b1 Months/, '1 Month')
.replace(/'b1 Days/, '1 Day');
document.getElementById('div2').textContent
= '12 Months 21 Days'.replace(/'b1 Months/, '1 Month')
.replace(/'b1 Days/, '1 Day');
1 Months 1 Days -->
<div id="div1"></div>
12 Months 21 Days -->
<div id="div2"></div>
只需拆分字符串并在更改字符串后进行concat,就像这个
var YYMM = '1 Months 1 Days';
YYMM = YYMM.split(' ');
if (parseInt(YYMM[0], 10) < 2) {
YYMM[1] = 'Month';
}
if (parseInt(YYMM[2], 10) < 2) {
YYMM[3] = 'Day';
}
YYMM = YYMM.join(' ');
console.log(YYMM);
# 1 Month 1 Day
这样做的好处很容易理解。但是你可以用三元运算符来写if
条件,比如这个
YYMM[1] = 'Month' + (parseInt(YYMM[0], 10) < 2 ? '' : 's');
YYMM[3] = 'Day' + (parseInt(YYMM[2], 10) < 2 ? '' : 's');
你可以试试这样的东西:
var str = '1 Months 3 Days';
var parts = str.split(' ');
if(parts[0] === '1') {
parts[1] = parts[1].slice(0, -1);
}
if(parts[2] === '1') {
parts[3] = parts[3].slice(0, -1);
}
var result = parts.join(' ');
相关文章:
- React 15使用空字符串删除输入值
- IE在将字符串转换为日期时从日期中删除4小时
- 从字符串末尾删除空白无效
- 如何使用javascript选择字符串的部分,添加html标记或删除部分
- 如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容
- JavaScript从字符串中删除尾随空格和句点
- 正在删除'<以及那些>'来自javascript中的字符串
- jQuery 2.1 |删除重复子字符串的源子字符串
- 停止JSON.parse()从JSON字符串数据中删除尾随零
- 删除一个“;从javascript中的字符串末尾
- 从JavaScript中的名称-值对字符串中删除值
- 如何使用javascript在html表中删除字符串
- 如何在字符串中的值之前删除字符串中的动态数据?/ 使用 Lodash 的 _.trimStart 与动态数据
- 如何使用Jscript | JQuery在textArea中获取插入的|删除的字符串的索引和长度
- 如何删除“"使用javascript从字符串中提取字符
- 如何比较两个字符串并删除jquery中的元素
- javascript字符串删除X位置的一个字符并添加到起始位置
- JSON 字符串删除字符
- Javascript字符串删除空格和连字符
- Javascript字符串:删除除数字和第一个"