在R語(yǔ)言中的單引號(hào)或雙引號(hào)對(duì)中寫(xiě)入的任何值都被視為字符串。 R語(yǔ)言存儲(chǔ)的每個(gè)字符串都在雙引號(hào)內(nèi),即使是使用單引號(hào)創(chuàng)建的依舊如此。
在字符串構(gòu)造中應(yīng)用的規(guī)則
在字符串的開(kāi)頭和結(jié)尾的引號(hào)應(yīng)該是兩個(gè)雙引號(hào)或兩個(gè)單引號(hào)。它們不能被混合。
雙引號(hào)可以插入到以單引號(hào)開(kāi)頭和結(jié)尾的字符串中。
單引號(hào)可以插入以雙引號(hào)開(kāi)頭和結(jié)尾的字符串。
雙引號(hào)不能插入以雙引號(hào)開(kāi)頭和結(jié)尾的字符串。
單引號(hào)不能插入以單引號(hào)開(kāi)頭和結(jié)尾的字符串。
有效字符串的示例
以下示例闡明了在 R 語(yǔ)言中創(chuàng)建字符串的規(guī)則。
a <- 'Start and end with single quote'
print(a)
b <- "Start and end with double quotes"
print(b)
c <- "single quote ' in between double quotes"
print(c)
d <- 'Double quotes " in between single quote'
print(d)
當(dāng)運(yùn)行上面的代碼,我們得到以下輸出 -
[1] "Start and end with single quote"
[1] "Start and end with double quotes"
[1] "single quote ' in between double quote"
[1] "Double quote " in between single quote"
無(wú)效字符串的示例
e <- 'Mixed quotes"
print(e)
f <- 'Single quote ' inside single quote'
print(f)
g <- "Double quotes " inside double quotes"
print(g)
當(dāng)我們運(yùn)行腳本失敗給下面的結(jié)果。
...: unexpected INCOMPLETE_STRING
.... unexpected symbol
1: f <- 'Single quote ' inside
unexpected symbol
1: g <- "Double quotes " inside
字符串操作
連接字符串 - paste() 函數(shù)
R語(yǔ)言中的許多字符串使用 paste() 函數(shù)組合。 它可以采取任何數(shù)量的參數(shù)組合在一起。
語(yǔ)法
對(duì)于粘貼功能的基本語(yǔ)法是 -
paste(..., sep = " ", collapse = NULL)
以下是所使用的參數(shù)的說(shuō)明 -
例
a <- "Hello"
b <- 'How'
c <- "are you? "
print(paste(a,b,c))
print(paste(a,b,c, sep = "-"))
print(paste(a,b,c, sep = "", collapse = ""))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] "Hello How are you? "
[1] "Hello-How-are you? "
[1] "HelloHoware you? "
格式化數(shù)字和字符串 - format() 函數(shù)
可以使用 format() 函數(shù)將數(shù)字和字符串格式化為特定樣式。
語(yǔ)法
格式化函數(shù)的基本語(yǔ)法是 -
format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))
以下是所使用的參數(shù)的描述 -
x 是向量輸入。
digits 是顯示的總位數(shù)。
nsmall 是小數(shù)點(diǎn)右邊的最小位數(shù)。
科學(xué)設(shè)置為 TRUE 以顯示科學(xué)記數(shù)法。
width 指示通過(guò)在開(kāi)始處填充空白來(lái)顯示的最小寬度。
justify 是字符串向左,右或中心的顯示。
例
# Total number of digits displayed. Last digit rounded off.
result <- format(23.123456789, digits = 9)
print(result)
# Display numbers in scientific notation.
result <- format(c(6, 13.14521), scientific = TRUE)
print(result)
# The minimum number of digits to the right of the decimal point.
result <- format(23.47, nsmall = 5)
print(result)
# Format treats everything as a string.
result <- format(6)
print(result)
# Numbers are padded with blank in the beginning for width.
result <- format(13.7, width = 6)
print(result)
# Left justify strings.
result <- format("Hello", width = 8, justify = "l")
print(result)
# Justfy string with center.
result <- format("Hello", width = 8, justify = "c")
print(result)
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] "23.1234568"
[1] "6.000000e+00" "1.314521e+01"
[1] "23.47000"
[1] "6"
[1] " 13.7"
[1] "Hello "
[1] " Hello "
計(jì)算字符串中的字符數(shù) - nchar() 函數(shù)
此函數(shù)計(jì)算字符串中包含空格的字符數(shù)。
語(yǔ)法
nchar() 函數(shù)的基本語(yǔ)法是 -
nchar(x)
以下是所使用的參數(shù)的描述 -
例
result <- nchar("Count the number of characters")
print(result)
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] 30
更改case - toupper()和tolower()函數(shù)
這些函數(shù)改變字符串的字符的大小寫(xiě)。
語(yǔ)法
toupper()和tolower()函數(shù)的基本語(yǔ)法是 -
toupper(x)
tolower(x)
以下是所使用的參數(shù)的描述 -
例
# Changing to Upper case.
result <- toupper("Changing To Upper")
print(result)
# Changing to lower case.
result <- tolower("Changing To Lower")
print(result)
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] "CHANGING TO UPPER"
[1] "changing to lower"
提取字符串的一部分 - substring()函數(shù)
此函數(shù)提取字符串的部分。
語(yǔ)法
substring() 函數(shù)的基本語(yǔ)法是 -
substring(x,first,last)
以下是所使用的參數(shù)的描述 -
x 是字符向量輸入。
首先是要提取的第一個(gè)字符的位置。
last 是要提取的最后一個(gè)字符的位置。
例
# Extract characters from 5th to 7th position.
result <- substring("Extract", 5, 7)
print(result)
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] "act"