Dar*_*_we 3 javascript string split
我想知道是否有一个优雅的解决方案来撤销这个字符串操作:
'hello world'.split('').join(' '); // result: 'h e l l o w o r l d'
Run Code Online (Sandbox Code Playgroud)
在我看来,我当前的解决方案并不像插入空格的代码(上面的代码)那样优雅。它确实有效,但我可以做得更好吗?
let spaces = 'h e l l o w o r l d'.split(' ');
let r = '';
for (let i = 0, len = spaces.length; i < len; ++i) {
r += spaces[i].split(' ').join('');
if (i != len - 1) {
r += ' ';
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用正则表达式匹配任何后跟空格的字符,并仅替换为该字符:
console.log(
'h e l l o w o r l d'
.replace(/(.) /g, '$1')
);Run Code Online (Sandbox Code Playgroud)
(.) - 匹配任意字符,将其放入第一个捕获组 - 匹配文字空间'$1' - 替换为第一个捕获组的内容您不必担心输入字符串中的多个连续空格会弄乱逻辑,因为2 个字符的每个子序列都会一一匹配,并且保证每第二个字符都是由.join(除了字符串末尾的最后一个字符,它不会被正则表达式匹配)。
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |