- 已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
4小时前关门了。
Improve this question
我正在尝试识别 Dataframe 中包含非ASCII字符的元素。例如,在下面的 Dataframe 中,我希望unicode_only
列中的所有行和mixed
列中的最后两行。
example_dataset <- tribble(
~ascii_only, ~unicode_only, ~mixed,
"a", "表", "c",
"b", "外", "表",
"c", "字", "外",
)
然而,当我尝试使用正则表达式"[^[:ascii]]"
过滤元素时,包含了一些仅ASCII的元素。
example_dataset %>%
mutate(row_number = row_number()) %>%
pivot_longer(c(everything(), -row_number),
names_to = "variable") %>%
select(variable, row_number, value) %>%
arrange(variable, row_number) %>%
filter(str_detect(value, "[^[:ascii]]"))
| 变数|行号|价值|
| - ------|- ------|- ------|
| 仅ASCII|第二章|b.人口基金|
| mixed | 2 | 表 |
| mixed | 3 | 外 |
| unicode_only | 1 | 表 |
| unicode_only | 2 | 外 |
| unicode_only | 3 | 字 |
为什么"[^[:ascii]]"
与b
匹配?
1条答案
按热度按时间b5lpy0ml1#
模式是
[:ascii:]
而不是[:ascii]
。