Javascript 如何在字符串替换中包含空格?
我需要用“5h”替换像“5小时”这样的字符串。但我只能让它达到“5小时”。如何删除中间的空间?当我用空格将函数中的“小时”替换为“小时”时,它将不替换任何内容并返回“5小时”Javascript 如何在字符串替换中包含空格?,javascript,jquery,string,Javascript,Jquery,String,我需要用“5h”替换像“5小时”这样的字符串。但我只能让它达到“5小时”。如何删除中间的空间?当我用空格将函数中的“小时”替换为“小时”时,它将不替换任何内容并返回“5小时” $('div.block_name span').text(function(){ return $(this).text().replace("hours","h"); }); 试试这个: $('div.block_name span').text(function(){
$('div.block_name span').text(function(){
return $(this).text().replace("hours","h");
});
试试这个:
$('div.block_name span').text(function(){
return $(this).text().replace(" hours","h");
});
这将用字符串h
替换前导空格和字符串hours
正在工作的JSFIDLE示例:尝试以下方法:
$('div.block_name span').text(function(){
return $(this).text().replace(" hours","h");
});
这将用字符串h
替换前导空格和字符串hours
工作JSFIDLE示例:您可以像这样使用正则表达式:
/“\s?”表示仅在空间存在时才查找该空间
console.log(“5小时”。替换(/\s?小时/,'h'));//5h
console.log(“5hours.replace(/\s?hours/,'h'));//5h
您可以像这样使用正则表达式:
/“\s?”表示仅在空间存在时才查找该空间
console.log(“5小时”。替换(/\s?小时/,'h'));//5h
console.log(“5hours.replace(/\s?hours/,'h'));//5h
显示你的HTML。显示你的HTML。刚刚在这个提琴上测试过,它按预期工作:正则表达式解决方案应该可以工作。如果HTML标记中有一个不间断的空格(
),它将被转换为unicode字符160,而不是标准的空格。刚刚在这个提琴上测试过,它按预期工作:正则表达式解决方案应该可以工作。如果HTML标记中有不间断空格(
),则会将其转换为unicode字符160,而不是标准空格。此解决方案也适用于不间断空格(
),通过jQuery的text()
方法将其转换为unicode字符160。我相信这就是OP的问题。是的!谢谢你的正则表达式方法。我之前试过用它,但用的是引号。顺便说一句,jquery让我的世界看起来更容易。(今天才开始使用!)@VaishMK我建议不要使用jquery。您可以使用DOM节点.textContent
,但很乐意提供帮助!:-)最肯定的是,这个解决方案也适用于不间断空格(
),它可以通过jQuery的text()
方法转换为unicode字符160。我相信这就是OP的问题。是的!谢谢你的正则表达式方法。我之前试过用它,但用的是引号。顺便说一句,jquery让我的世界看起来更容易。(今天才开始使用!)@VaishMK我建议不要使用jquery。您可以使用DOM节点.textContent
,但很乐意提供帮助!:-)非常肯定。