Skip to content

Bash stringr API

Bash 参数展开 —— 在 shell 变量上执行的内置字符串操作,无需外部工具。

1 class · 8 methods

字符串操作

8 methods

用于测量、切片和替换变量中文本的 Bash 参数展开运算符。

str_length(string) -> integer

返回变量值的字符长度。

Parameters

NameTypeDescription
stringcharacterInput character vector.

Returns

integer

Example

r
library(stringr)
str_length(c("hello", "café", ""))  # 5 4 0
str_sub(string, start = 1L, end = -1L) -> character

从 offset(从 0 开始)处提取指定长度的子字符串。省略 length 则提取到末尾。

Parameters

NameTypeDescription
offsetcharacter起始位置(负数从末尾开始计数)。
lengthinteger字符数(可选)。
endintegerEnd position (default -1 = last char).

Returns

character

Example

r
library(stringr)
str_sub("Hello, World", 8)      # "World"
str_sub("Hello, World", 8, 12)  # "World"
str_sub("Hello", -3)            # "llo"
str_detect(string, pattern) -> logical

将 var 值中 old(glob 模式)的第一个匹配项替换为 new。

Parameters

NameTypeDescription
oldcharacter要匹配的 glob 模式。
newcharacter|regex替换字符串。

Returns

logical

Example

r
library(stringr)
str_detect(c("apple", "banana", "cherry"), "^a")  # TRUE FALSE FALSE
str_detect(c("cat", "dog"), "a")                  # TRUE FALSE
str_replace(string, pattern, replacement) -> character

将 var 值中 old(glob 模式)的所有匹配项替换为 new。

Parameters

NameTypeDescription
oldcharacter要匹配的 glob 模式。
newcharacter|regex替换字符串。
replacementcharacterReplacement string.

Returns

character

Example

r
library(stringr)
str_replace("Hello, World", "World", "R")  # "Hello, R"
# Use str_replace_all for all matches
str_replace_all("a-b-c", "-", "_")         # "a_b_c"
str_to_lower(string) -> character

从 var 值的开头移除 prefix 的最短匹配项。

Parameters

NameTypeDescription
prefixcharacter要从开头移除的 glob 模式。

Returns

character

Example

r
library(stringr)
str_to_lower("HELLO World")  # "hello world"
str_split(string, pattern) -> list

从 var 值的末尾移除 suffix 的最短匹配项。

Parameters

NameTypeDescription
suffixcharacter要从末尾移除的 glob 模式。
patterncharacter|regexSplit pattern.

Returns

list

Example

r
library(stringr)
str_split("a,b,c", ",")
# [[1]]
# [1] "a" "b" "c"
str_split(c("a-b", "c-d-e"), "-")
str_c(..., sep = "") -> character

返回 var 转换为大写后的值。需要 Bash 4.0+。

Parameters

NameTypeDescription
...characterStrings to concatenate.
sepcharacterSeparator between inputs (default empty).

Returns

character

Example

r
library(stringr)
str_c("Hello", "World", sep = ", ")  # "Hello, World"
str_c(c("a", "b"), c("1", "2"))      # "a1" "b2"
str_trim(string, side = c("both", "left", "right")) -> character

返回 var 转换为小写后的值。需要 Bash 4.0+。

Parameters

NameTypeDescription
stringcharacterInput character vector.
sidecharacterWhich side(s) to trim (default both).

Returns

character

Example

r
library(stringr)
str_trim("  hello  ")            # "hello"
str_trim("  hello  ", "left")    # "hello  "
str_trim("  hello  ", "right")   # "  hello"