# 站在 Python 的肩膀上開啟 JavaScript 的大門,用 Py 角度學 JS | Ep. 7 字串處理
:::info
這個系列帶著各位通過Python的角度,開始認識JavaScript這個實用的程式語言。專為曾經學習Python或認識Python,並且想學習JavaScript的人們設計,將會頻繁的提到每一種函式或語法與Python相關之處,便於將理解的知識再次利用,從中學習!
:::
## 前言
在JavaScript中,字串處理是一個常見的任務。JavaScript中提供了許多內置函式,可以讓開發人員方便地處理字串。下面是一些常用的字串處理函式:
1. length:字串長度
2. charAt:指定位置字元
3. concat:字串相連
4. indexOf:指定字串第一次出現位置
5. lastIndexOf:指定字串最後一次出現位置
6. slice:提取指定位置間的字串
7. substr:指定位置開始提取指定位數的字串
8. replace:取代指定字串
9. split:切割字串
10. toLowerCase/toUpperCase:英語大小寫轉換
而在 Python 的類似對應函式如下:
1. len:字串長度
2. [index]:指定位置字元,其中index是整數值
3. +:字串相連
4. index:指定字串第一次出現位置
5. rindex:指定字串最後一次出現位置
6. [start:end]:提取指定位置間的字串
7. [start:start+length]:指定位置開始提取指定位數的字串
8. replace:取代指定字串
9. split:切割字串
10. lower/upper:英語大小寫轉換
接著讓我們來一個一個了解 JavaScript 中每一個字串相關處理函式的用法!
## 字串處理
範例中的 `str` 指的是一個字串,可以是變數或是以 `'` 或 `"` 的字串。
### length() 字串長度
用法:`str.length`
用途:`length()` 函式可以用於取得字串的長度。
範例:
```javascript
const str = "Hello World";
console.log(str.length); // 11
```
### charAt() 指定位置字元
用法:`str.charAt(index)`
`index`:要取字元的位置,由0開始為第一位,以此類推
用途:`charAt()` 函式可以取得字串中指定位置的字元。
範例:
```javascript
const str = "Hello World";
console.log(str.charAt(1)); // e
```
### concat() 字串相連
用法:`str.concat(str1, str2, ..., strX)`
`str1`:一個字串,並且若要相接多個字串可以使用逗號分隔
用途:`concat()` 函式可以將多個字串相連接成一個新的字串。
範例:
```javascript
const str1 = "Hello";
const str2 = "World";
console.log(str1.concat(" ", str2)); // Hello World
```
### indexOf() 指定字串第一次出現位置
用法:`str.indexOf(searchValue, fromIndex)`
`searchValue`:要搜尋的內容
`fromIndex`:指定開始搜索的位置
用途:`indexOf()` 函式可以取得字串中指定字串的第一次出現位置。
範例:
```javascript
const str = "Hello World";
console.log(str.indexOf("o")); // 4
```
### lastIndexOf() 指定字串最後一次出現位置
用法:`str.lastIndexOf(searchValue, fromIndex)`
`searchValue`:要搜尋的內容
`fromIndex`:指定開始搜索的位置
用途:`lastIndexOf()` 函式可以取得字串中指定字串的最後一次出現位置。
範例:
```javascript
const str = "Hello World";
console.log(str.lastIndexOf("o")); // 7
```
### slice() 提取指定位置間的字串
用法:`str.slice(beginIndex, endIndex)`
`beginIndex`:開始搜尋的位置
`endIndex`:結束搜尋的位置
用途:`slice()` 函式可以提取字串中指定位置間的字串。
範例:
```javascript
const str = "Hello World";
console.log(str.slice(0, 5)); // Hello
```
### substr() 指定位置開始提取指定位數的字串
用法:`str.substr(start, length)`
`start`:開始提取的位置
`length`:要提取出的長度
用途:`substr()` 函式可以從指定位置開始提取指定長度的字串。
範例:
```javascript
const str = "Hello World";
console.log(str.substr(6, 5)); // World
```
### replace() 取代指定字串
用法:`str.replace(searchValue, replaceValue)`
`searchValue`:要尋找的字串
`replaceValue`:要取代為的字串
用途:`replace()` 函式可以將字串中的指定字串取代為新的字串。
範例:
```javascript
const str = "Hello World";
console.log(str.replace("World", "JavaScript")); // Hello JavaScript
```
### split() 切割字串
用法:`str.split(separator, limit)`
`separator`:做為分割的依據
`limit`:限制切割後陣列的長度
用途:`split()` 函式可以將一個字串根據指定分隔符號分割成一個陣列,每個分割後的子字串都是陣列中的一個元素。
範例:
```javascript
const str = "Apple,Banana,Mango";
const fruits = str.split(",");
console.log(fruits); // ["Apple", "Banana", "Mango"]
```
### toLowerCase()/toUpperCase() 英語大小寫轉換
用法:`str.toLowerCase()`/`str.toUpperCase()`
用途:`toLowerCase()` 與 `toUpperCase()` 函式分別用於將一個字串轉換成小寫與大寫。
範例:
```javascript
const str1 = "Hello World!";
const str2 = "JAVASCRIPT";
console.log(str1.toLowerCase()); // "hello world!"
console.log(str2.toUpperCase()); // "JAVASCRIPT"
```
## 結語
JavaScript 中的字串處理在程式語言中扮演著非常重要的角色,因為有著非常多的程式都會牽涉到字串的處理。透過這個系列,我們用 Python 的角度學習 JavaScript 中常用的字串處理函式,並且將 Python 中的相關函式做出對應,使得學習者可以更輕易地通過已知的觀念,來了解新的知識。
在本篇文章中,我們介紹了 JavaScript 中的常用字串處理函式,包括 length、charAt、concat、indexOf、lastIndexOf、slice、substr、replace、split 以及 toLowerCase/toUpperCase。並且也提供了 Python 中的相似對應函式,方便學習者可以快速找到參照。
學習程式語言的真諦,並不是僅僅背起所有的語法,更要學會應用的方式。這篇文章中除了介紹每一個函式外,亦各舉出一個例子,方便更好的理解與學習。期望在未來的學習過程中,各位讀者可以更輕鬆地掌握各種 JavaScript 的知識。
最後,字串處理函式只是程式中非常小的一部分,還有許多其他的語法與函式等待各位去探索。希望透過這個系列,可以為學習者的學習之路帶來一些幫助和啟示,也懇請各位多多關注與追蹤,也歡迎留言回饋!
###### tags: `Python` `JavaScript`