给定一个这样的字符串:
"The dog has a long tail, and it is RED!"
什么样的jQuery或JavaScript魔法可以用来保持空间只有一个最大空间?
目标:
"The dog has a long tail, and it is RED!"
给定一个这样的字符串:
"The dog has a long tail, and it is RED!"
什么样的jQuery或JavaScript魔法可以用来保持空间只有一个最大空间?
目标:
"The dog has a long tail, and it is RED!"
当前回答
以下是对我来说很有效的解决方案:
var text = “ Tes ddas dMd WAlkman 3Dsfd ” .toLowerCase() .replace(/\b\s+/g, “ ”) .replace(/\b\w/g, s => s.toUpperCase()) .trimStart() .trimEnd(); 控制台.log(文本); 结果: Tes Ddas Dmd 随身听 3dsfd
其他回答
我知道我们必须使用正则表达式,但在一次采访中,我被要求不要使用正则表达式。
@slightlytyler帮助我提出了下面的方法。
const testStr = "I LOVE STACKOVERFLOW LOL"; const removeSpaces = str => { Const chars = str.split("); const nextChars = char .reduce( (acc, c) => { If (c === ' ') { const lastChar = acc[acc.]长度- 1]; if (lastChar === ' ') { 返回acc; } } 返回[…acc, c]; }, [], ); const nextStr = nextchar .join("); 返回nextStr }; console.log (removeSpaces (testStr));
尝试用一个空格替换多个空格。
<script type="text/javascript">
var myStr = "The dog has a long tail, and it is RED!";
alert(myStr); // Output 'The dog has a long tail, and it is RED!'
var newStr = myStr.replace(/ +/g, ' ');
alert(newStr); // Output 'The dog has a long tail, and it is RED!'
</script>
阅读更多@用单个空格替换多个空格
为了获得更多的控制,您可以使用replace回调来处理该值。
value = "tags:HUNT tags:HUNT tags:HUNT tags:HUNT"
value.replace(new RegExp(`(?:\\s+)(?:tags)`, 'g'), $1 => ` ${$1.trim()}`)
//"tags:HUNT tags:HUNT tags:HUNT tags:HUNT"
Def removeblanks(text):返回re.sub(r'\s\s+'," ",text) 我正在处理一个有很多重复空格的大型文本数据。 上面的RE对我很有用。所有重复的空格都被一个空格取代。
这个脚本删除了单词和修饰之间的任何空白(多个空格,制表符,返回值等):
// Trims & replaces any wihtespacing to single space between words
String.prototype.clearExtraSpace = function(){
var _trimLeft = /^\s+/,
_trimRight = /\s+$/,
_multiple = /\s+/g;
return this.replace(_trimLeft, '').replace(_trimRight, '').replace(_multiple, ' ');
};