查找并返回包含非字母数字字符的单词没有问题,但我想要做的是返回找到的非字母数字字符。例如:
a <- c("hello?", "goodbye","hi!")
grep("[^[:alnum:]]", a, value=TRUE)
返回:
[1] "hello?" "hi!"
但我想回归的是:
[1] "?" "!"
有什么想法?谢谢!
编辑:我喜欢这个...两个用户响应,四种不同的方式来完成它。我学到了很多东西。谢谢!答案 0 :(得分:3)
我们可以使用import typing
class A(object):
pass
class B(A):
pass
def register(cls: typing.Type[A]):
assert issubclass(cls, A)
register(A)
register(B)
通过匹配模式(gsub
- 表示一个或多个非标点字符)来删除字母数字字符,并将其替换为空格([^[:punct:]]+
)。我们使用""
或nzchar
删除空白。
setdiff
或其他选项setdiff(gsub("[^[:punct:]]+", "", a), "")
#[1] "?" "!"
来自str_extract
stringr