用 .replace 替换字符串中的空格
Replacing whitespace in a string with .replace
$(document).ready(function(){
$('.shoppingBasket tr').each(function() {
var pName = $(this).find("span.pastorder-productname").text().trim().match(/\w*\s\X\d/g);
if (pName != null) {
var pQuantity = $(this).find("td.cart-quantity").text().trim();
pName = pName.replace(/\s+/g, '');
console.log(pName);
}
});
});
我有这段代码可以遍历收据中列出的所有项目并获取它们的名称(通常产品名称周围有额外的东西,我只想要产品名称 "Something XY"。我知道这工作正常,就像我打印出 pName 一样,这正是我所期望的。
但是,我们发现我们使用的一些方法不喜欢名称中有 space,所以我的目标是使用 .replace 方法删除 space字符串的中间。
我尝试使用:
var pName = $(this).find("span.pastorder-productname").text().trim().match(/\w*\s\X\d/g).replace(/\s+/g, '');
但我收到错误:未捕获类型错误:无法读取 属性 'replace' of null
之后,我尝试将它添加到循环中并具有:
if (pName != null) {
var pQuantity = $(this).find("td.cart-quantity").text().trim();
pName = pName.replace(/\s+/g, '');
console.log(pName);
}
但我收到错误:Uncaught TypeError: Cannot read property 'replace' of null
我很确定我在做一些愚蠢的事情,但我不确定是什么,有什么建议吗?
尝试:
if(pName!==null){
pName = pName.text().replace(/\s+/g, '');
}
我设法让它为我工作:
var pName = $(this).find("span.pastorder-productname").text().trim().replace(/\s+/g, '').match(/\w*\X\d/g);
这似乎给了我想要的结果。
$(document).ready(function(){
$('.shoppingBasket tr').each(function() {
var pName = $(this).find("span.pastorder-productname").text().trim().match(/\w*\s\X\d/g);
if (pName != null) {
var pQuantity = $(this).find("td.cart-quantity").text().trim();
pName = pName.replace(/\s+/g, '');
console.log(pName);
}
});
});
我有这段代码可以遍历收据中列出的所有项目并获取它们的名称(通常产品名称周围有额外的东西,我只想要产品名称 "Something XY"。我知道这工作正常,就像我打印出 pName 一样,这正是我所期望的。
但是,我们发现我们使用的一些方法不喜欢名称中有 space,所以我的目标是使用 .replace 方法删除 space字符串的中间。
我尝试使用:
var pName = $(this).find("span.pastorder-productname").text().trim().match(/\w*\s\X\d/g).replace(/\s+/g, '');
但我收到错误:未捕获类型错误:无法读取 属性 'replace' of null
之后,我尝试将它添加到循环中并具有:
if (pName != null) {
var pQuantity = $(this).find("td.cart-quantity").text().trim();
pName = pName.replace(/\s+/g, '');
console.log(pName);
}
但我收到错误:Uncaught TypeError: Cannot read property 'replace' of null
我很确定我在做一些愚蠢的事情,但我不确定是什么,有什么建议吗?
尝试:
if(pName!==null){
pName = pName.text().replace(/\s+/g, '');
}
我设法让它为我工作:
var pName = $(this).find("span.pastorder-productname").text().trim().replace(/\s+/g, '').match(/\w*\X\d/g);
这似乎给了我想要的结果。