Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在字符串替换中包含空格?_Javascript_Jquery_String - Fatal编程技术网

Javascript 如何在字符串替换中包含空格?

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(){

我需要用“5h”替换像“5小时”这样的字符串。但我只能让它达到“5小时”。如何删除中间的空间?当我用空格将函数中的“小时”替换为“小时”时,它将不替换任何内容并返回“5小时”

$('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
,但很乐意提供帮助!:-)非常肯定。