---
# System prepended metadata

title: 移除字串的前後空白
tags: [Javascript]

---

---
tags: Javascript,
disqus: hackmd
---

# 移除字串的前後空白

Javascript本身就有方法可以直接去除字串的前後空白
這個方法就是[trim()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)
```javascript=
const greeting = '   Hello.       world!   ';

console.log(greeting);
// expected output: "   Hello.       world!   ";

console.log(greeting.trim());
// expected output: "Hello.       world!";
```
輕鬆達成

但如果你發現這樣還不行(不太可能)，那還有一招
使用正規表達式
```javascript=
if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
  };
}
```

或是直接

```javascript=
value.split(/([\S][\w\W\s]+[\S])/g)[1];
```

## 搭配Array，去除陣列裡的空字串
```javascript=
let arr = ['Hello', '', 'Hi', null, undefined, 'Ciao', ' '];

let newArr = arr.filter(function (inutile) {
 return inutile && inutile.trim(); 
});

newArr; // ['Hello', 'Hi', 'Ciao']
```

#### 參考文章
[把要的元素留下來的 Array 陣列方法 filter()](https://ithelp.ithome.com.tw/articles/10229458)

