[英]How to replace numbers in string if greater than variable?
I have a strings that always contain 2 numbers and I need to replace those numbers with "> 5" if those numbers are greater than 5.我有一个始终包含 2 个数字的字符串,如果这些数字大于 5,我需要用“> 5”替换这些数字。
const str = "SmartWear sklad 15 ks<br />Externý sklad 12 ks";
let limit = 5;
The result should be:结果应该是:
const replaced = "SmartWear sklad > 5 ks<br />Externý sklad > 5 ks";
I tried this, but that won't actually work if the other number is greater than 5 as well.我试过了,但如果另一个数字也大于 5,那实际上不起作用。
for (let stock of stocks) {
let tooltip = stock.getAttribute("data-original-title") //"SmartWear sklad 15 ks<br />Externý sklad 0 ks";
let limit = 5;
const index = tooltip.search(/[0-9]/);
const firstNum = tooltip[index];
if (firstNum > limit) {
const replaced = tooltip.replace(firstNum, `> ${limit}`)
stock.setAttribute("data-original-title", replaced)
}
}
.replace
with a callback should do the trick .replace
回调应该可以解决问题
const str = "SmartWear sklad 15 ks test 3<br />Externý sklad 12 ks"; let limit = 5; newStr = str.replace(/\d+/g, num => Number(num) > limit? `> ${limit}`: num) document.write(newStr)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.