Javascript 替换所有空格,但结尾处的空格除外
我想替换所有空格,但不想替换字符串末尾的空格。 例如,我的问题: 今天是悲伤的一天 今天是悲伤的一天- 您需要使用删除字符串两侧的空白:Javascript 替换所有空格,但结尾处的空格除外,javascript,regex,Javascript,Regex,我想替换所有空格,但不想替换字符串末尾的空格。 例如,我的问题: 今天是悲伤的一天 今天是悲伤的一天- 您需要使用删除字符串两侧的空白: str=“今天是悲伤的一天”; log(str.trim().replace(/\s/g,“-”)使用trim()尝试此代码 str=“今天是悲伤的一天”; str=str.trim(); newstr=str.replace(/\s/g,“-”); 警报(newstr)只需使用split(“”)带空格的字符串,然后join('-') 注意*:对于不需要的
str=“今天是悲伤的一天”;
log(str.trim().replace(/\s/g,“-”)
使用trim()尝试此代码代码>
str=“今天是悲伤的一天”;
str=str.trim();
newstr=str.replace(/\s/g,“-”);
警报(newstr)
只需使用split(“”)
带空格的字符串,然后join('-')
注意*:对于不需要的空间,请删除该功能
console.log('今天是悲伤的一天'.trim().split('').join('-')
也许你想这样做
str=“今天是悲伤的一天”;
toReplace=str.substring(0,str.length-1);
newstr=toReplace.replace(/\s/g,“-”);
已替换=newstr+“”;
控制台日志(已替换)代码>使用,您可以使用函数(替换)
创建新的子字符串,用于替换与给定正则表达式的匹配项。提供给此函数的参数在“”中描述
然后,您可以使用字符串的长度和当前的偏移量来返回匹配项或所需的替换项'-'
代码:
var str='今天是悲伤的一天';
var result=str.replace(/\s/g,函数(匹配,偏移,字符串){
return string.length-1!==偏移量?'-':匹配;
});
控制台日志(结果)代码>首先使用修剪来删除空格。所以您想保留字符串结尾的空格吗?因为您不是很清楚,所以您想保留尾随空格吗?请编辑您的问题以显示您的确切要求。问题中的示例和文本不匹配。根据你的问题,结果应该是“今天是悲伤的一天”只是一个警告,如果这是一项要求,IE8中不可用。不希望替换字符串结尾的空格
,因此我认为trim
正好相反。OP示例在天之后有一个空格
如今天是悲伤的一天
您最好解释您的解决方案,而不是简单地发布一些代码。也许值得一读。
str = "today is a sad day ";
newstr = str.replace(/\s/g,"-");
str = "today is a sad day ";
newstr = str.replace(/\s(?!$)/g,"-");