str_view()
用於打印字符串的底層表示形式並查看 pattern
如何匹配。
匹配項被 <>
包圍,異常空白(即除了 " "
和 "\n"
之外的所有空白)被 {}
包圍並轉義。在可能的情況下,匹配項和不尋常的空白會被塗成藍色,NA
會被塗成紅色。
參數
- string
-
輸入向量。或者是一個字符向量,或者是可強製轉換為一個的東西。
- pattern
-
要尋找的模式。
默認解釋是正則表達式,如
vignette("regular-expressions")
中所述。使用regex()
可以更好地控製匹配行為。使用
fixed()
匹配固定字符串(即僅比較字節)。這很快,但是是近似值。一般來說,為了匹配人類文本,您需要coll()
,它尊重指定區域設置的字符匹配規則。將字符、單詞、行和句子邊界與
boundary()
匹配。空模式“”相當於boundary("character")
。 - match
-
如果提供
pattern
,則應顯示哪些元素?-
TRUE
(默認值)僅顯示與模式匹配的元素。 -
NA
顯示所有元素。 -
FALSE
僅顯示與模式不匹配的元素。
如果未提供
pattern
,則始終顯示所有元素。 -
- html
-
使用 HTML 輸出?如果
TRUE
將創建一個HTML小部件; ifFALSE
將使用 ANSI 轉義樣式。如果當前終端可用,默認情況下更喜歡 ANSI 轉義;您可以通過設置options(stringr.html = TRUE)
來覆蓋。 - use_escapes
-
如果
TRUE
,所有非 ASCII 字符都將使用 unicode 轉義進行呈現。這對於準確查看字符串中存儲的基礎值很有用。
例子
# Show special characters
str_view(c("\"\\", "\\\\\\", "fgh", NA, "NA"))
#> [1] │ "\
#> [2] │ \\\
#> [3] │ fgh
#> [4] │ NA
#> [5] │ NA
# A non-breaking space looks like a regular space:
nbsp <- "Hi\u00A0you"
nbsp
#> [1] "Hi you"
# But it doesn't behave like one:
str_detect(nbsp, " ")
#> [1] FALSE
# So str_view() brings it to your attention with a blue background
str_view(nbsp)
#> [1] │ Hi{\u00a0}you
# You can also use escapes to see all non-ASCII characters
str_view(nbsp, use_escapes = TRUE)
#> [1] │ Hi\u00a0you
# Supply a pattern to see where it matches
str_view(c("abc", "def", "fghi"), "[aeiou]")
#> [1] │ <a>bc
#> [2] │ d<e>f
#> [3] │ fgh<i>
str_view(c("abc", "def", "fghi"), "^")
#> [1] │ <>abc
#> [2] │ <>def
#> [3] │ <>fghi
str_view(c("abc", "def", "fghi"), "..")
#> [1] │ <ab>c
#> [2] │ <de>f
#> [3] │ <fg><hi>
# By default, only matching strings will be shown
str_view(c("abc", "def", "fghi"), "e")
#> [2] │ d<e>f
# but you can show all:
str_view(c("abc", "def", "fghi"), "e", match = NA)
#> [1] │ abc
#> [2] │ d<e>f
#> [3] │ fghi
# or just those that don't match:
str_view(c("abc", "def", "fghi"), "e", match = FALSE)
#> [1] │ abc
#> [3] │ fghi
相關用法
- R stringr str_which 查找匹配索引
- R stringr str_extract 提取完整的匹配項
- R stringr str_subset 查找匹配元素
- R stringr str_escape 轉義正則表達式元字符
- R stringr str_trim 刪除空格
- R stringr str_sub 使用子字符串的位置獲取和設置子字符串
- R stringr str_replace_na 把NA變成“NA”
- R stringr str_trunc 將字符串截斷至最大寬度
- R stringr str_match 從匹配中提取組件(捕獲組)
- R stringr str_like 以與 SQL 的 LIKE 運算符相同的方式檢測模式
- R stringr str_length 計算長度/寬度
- R stringr str_detect 檢測是否存在匹配
- R stringr str_count 計算匹配次數
- R stringr str_split 將字符串分成幾段
- R stringr str_unique 刪除重複的字符串
- R stringr str_remove 刪除匹配的模式
- R stringr str_pad 將字符串填充到最小寬度
- R stringr str_equal 判斷兩個字符串是否相等
- R stringr str_glue 用膠水插補
- R stringr str_conv 指定字符串的編碼
- R stringr str_order 對字符向量進行排序、排名或排序
- R stringr str_starts 檢測開始/結束時是否存在匹配
- R stringr str_c 將多個字符串連接成一個字符串
- R stringr str_wrap 將單詞包裝成格式良好的段落
- R stringr str_dup 複製字符串
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 View strings and matches。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。