我想替换所有空格,但不希望在字符串末尾替换空格。 例如我的问题:
今天是悲伤的一天
今天是-A-悲伤天 -
str = "today is a sad day ";
newstr = str.replace(/\s/g,"-");
答案 0 :(得分:2)
您需要使用https://apacheignite.readme.io/docs/distributed-ddl从字符串的两边删除空格:
str = "today is a sad day ";
console.log(str.trim().replace(/\s/g, "-"))
答案 1 :(得分:2)
使用trim();
str = "today is a sad day ";
str = str.trim();
newstr = str.replace(/\s/g,"-");
alert(newstr);

答案 2 :(得分:0)
只需使用split(" ")
字符串,然后join('-')
注意 *:对于不需要的空格,请删除
trim()
功能
console.log('today is a sad day '.trim().split(" ").join('-'))

答案 3 :(得分:0)
str = "today is a sad day ";
newstr = str.replace(/\s(?!$)/g,"-");
答案 4 :(得分:0)
也许你想这样做?
str = "today is a sad day ";
toReplace = str.substring(0, str.length-1);
newstr = toReplace.replace(/\s/g,"-");
replaced = newstr + " ";
console.log(replaced);
答案 5 :(得分:0)
使用String.prototype.replace(),您可以使用function (replacement)
创建新的子字符串,用于将匹配替换为给定的正则表达式。提供给此函数的参数在“Specifying a function as a parameter”中进行了描述。
您可以使用字符串的长度和当前offset
来返回匹配或所需的替换'-'
。
代码:
var str = 'today is a sad day ';
var result = str.replace(/\s/g, function(match, offset, string) {
return string.length - 1 !== offset ? '-' : match;
});
console.log(result);