如何删除字符串中的空格?例如:
输入:
'/var/www/site/Brand new document.docx'
输出:
'/var/www/site/Brandnewdocument.docx'
如何删除字符串中的空格?例如:
输入:
'/var/www/site/Brand new document.docx'
输出:
'/var/www/site/Brandnewdocument.docx'
当前回答
正则表达式+ Replace()
虽然regex可能更慢,但在很多情况下,开发人员一次只操作几个字符串,所以考虑速度是无关紧要的。尽管/ /比/\s/快,但是使用'\s'可能更清楚地向其他开发人员解释了正在发生的事情。
let string = '/var/www/site/Brand new document.docx';
let path = string.replace(/\s/g, '');
// path => '/var/www/site/Brandnewdocument.docx'
Split() + Join()
使用Split + Join可以对字符串进行进一步的链式操作。
let string = '/var/www/site/Brand new document.docx';
let path => string.split('').map(char => /(\s|\.)/.test(char) ? '/' : char).join('');
// "/var/www/site/Brand/new/document/docx";
其他回答
简单的方法
someString.replace(/ /g, '');
// or
someString.replace(/\s/gm, '');
以下@rsplak的回答:实际上,使用分割/连接的方式比使用regexp更快。请参见性能测试用例
So
Var result = text。(' ') . join ()
运行速度比
var result = text.replace(/\s+/g, '')
对于小文本,这是不相关的,但对于时间很重要的情况,例如在文本分析器中,特别是在与用户交互时,这是重要的。
另一方面,\s+可以处理更广泛的空格字符。在\n和\t中,它也匹配\u00a0字符,这就是 当使用textDomNode.nodeValue获取文本时,会被返回。
所以我认为这里的结论可以如下:如果你只需要替换空格' ',使用split/join。如果可以有不同符号的符号类-使用replace(/\s+/g, ")
var a = b = " /var/www/site/Brand new document.docx "; Console.log (a.split(' ').join(")); Console.log (b.replace(/\s/g, "));
有两种方法!
使用replaceAll似乎是最简单、最干净的方法。(我不能保证最快)
“/var/www/site/Brand new document.docx”。替代品(',')
见文档。
replaceAll()方法返回一个新字符串,其中模式的所有匹配项都被替换。模式可以是字符串或RegExp,替换可以是为每个匹配调用的字符串或函数。
var output = '/var/www/site/Brand new document.docx'.replace(/ /g, "");
or
var output = '/var/www/site/Brand new document.docx'.replace(/ /gi,"");
注意:虽然你使用'g'或'gi'来删除空格,但它们的行为是一样的。
如果我们在replace函数中使用'g',它将检查完全匹配。但如果我们使用'gi',它就忽略了大小写敏感性。
参考请点击这里。