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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。