R - 字串:初學者指南

你好,未來的 R 程式設計師!今天,我們將踏上一段令人興奮的旅程,探索 R 語言中的字串世界。別擔心如果你從未寫過一行代碼 - 我將成為你的友好導遊,我們會一步步來。到了這個教學的結尾,你將像專家一樣操作字串!

R - Strings

什麼是字串?

在我們深入之前,讓我們從基礎開始。在編程中,字串簡單地就是字符序列。它可以是個單詞、一句話,甚至整個段落。在 R 語言中,我們通過將文字括在單引號('')或雙引號("")中來創造字串。

讓我們創造我們的第一個字串:

my_first_string <- "Hello, World!"
print(my_first_string)

當你運行這段代碼時,你會看到:

[1] "Hello, World!"

恭喜!你剛剛在 R 語言中創建並打印了你的第一個字串。<- 符號是我們在 R 中將值賦予變量的方式。把它看作是把字串 "Hello, World!" 放進標籤為 my_first_string 的盒子裡。

字串構建的規則

既然我們已經略嘗滋味,讓我們來探索一些在 R 中創造字串的規則。

1. 單引號與雙引號

在 R 中,你可以使用單引號或雙引號來創造字串:

string1 <- '我是一個字串'
string2 <- "我也是一個字串"
print(string1)
print(string2)

兩者都會正常工作。然而,有一個小技巧:如果你想在你的字串中包含引號,你可以使用相反類型的引號來括住它:

quote_string <- "她說,'R 是很棒的!'"
print(quote_string)

2. 轉義字符

有時候,你可能想在你的字串中包含特殊字符。為此,我們使用轉義字符,它們總是以反斜杠(\)開頭。

以下是一些常見的轉義字符:

轉義字符 含義
\n 新行
\t 標籤
\" 雙引號
\' 單引號
\\ 反斜杠

讓我們看看它們是如何工作的:

escaped_string <- "這是第一行。\n這是第二行。\t這是被標籤的。"
cat(escaped_string)

輸出:

這是第一行。
這是第二行.  這是被標籤的。

cat() 函數很適合打印帶有轉義字符的字串,因為它能正確解析它們。

3. 原始字串

如果你正在使用很多反斜杠(例如 Windows 的文件路徑),你可以使用原始字串。這些字串以 r 為前綴,並將反斜杠視為文字字符:

normal_string <- "C:\\Users\\YourName\\Documents"
raw_string <- r"(C:\Users\YourName\Documents)"
print(normal_string)
print(raw_string)

你會看到正常字串將反斜杠解析為轉義字符,而原始字串則將它們保持原樣。

字串操作

既然我們知道如何創造字串,讓我們學習如何玩弄它們!

1. 串接

串接只是一個把字串粘在一起的複雜詞。在 R 中,我們使用 paste()paste0() 函數來做這個:

first_name <- "John"
last_name <- "Doe"
full_name <- paste(first_name, last_name)
print(full_name)

# `paste0()` 與之類似,但不會在元素之間添加空格
full_name_no_space <- paste0(first_name, last_name)
print(full_name_no_space)

輸出:

[1] "John Doe"
[1] "JohnDoe"

2. 子字串提取

通常,你可能想從字串中提取一部分。我們可以使用方括號 [] 來做這個:

my_string <- "R 是驚人的!"
print(my_string[1:5])  # 獲取前 5 個字符

輸出:

[1] "R 是 "

3. 字串長度

要找出字串有多長,使用 nchar() 函數:

my_string <- "我有多長?"
print(nchar(my_string))

輸出:

[1] 15

4. 改變大小寫

R 提供了改變字串大小寫的函數:

mixed_case <- "ThIs Is MiXeD cAsE"
print(toupper(mixed_case))  # 全部大寫
print(tolower(mixed_case))  # 全部小寫

輸出:

[1] "THIS IS MIXED CASE"
[1] "this is mixed case"

5. 查找和替換

gsub() 函數很適合用於查找和替換字串的一部分:

sentence <- "The quick brown fox jumps over the lazy dog"
new_sentence <- gsub("fox", "cat", sentence)
print(new_sentence)

輸出:

[1] "The quick brown cat jumps over the lazy dog"

結論

哇,我們今天走了很長一段路!從創建你的第一個字串到像專家一樣操作它們,你已經邁出了進入 R 邏輯精彩世界的第一步。記住,熟練才能精準,所以不要害怕嘗試這些概念。

這裡有一個小挑戰給你:試著創建一個包含你名字的字串,從中提取你的首字母,然後將它們打印成大寫。如果你能做到這點,你距離成為 R 字串大師就不遠了!

持續編碼,持續學習,最重要的是,玩得開心!千里之行,始於足下,而你剛好在 R 邏輯中邁出了你的第一步。直到下次見,快樂編碼!

Credits: Image by storyset