r - 符号之前/之后的字符

标签 r string substring

我在 R 中有以下字符串:“xxx, yyy.zzz” 我只想获取 yyy 部分,位于“,”和“.”之间

我不想使用正则表达式。

我找了半天,发现R中有很多字符串函数,但没有一个处理“字符前/后剪切”的函数。

有这样的吗?

最佳答案

我们可以使用 gsub 从头开始​​匹配零个或多个不是 , ([^,]*) 的字符 ( ^) 的字符串,后跟 , 后跟零个或多个空格 (\\s*) 或 (!) 一个点 (\\. - 它是一个元字符,表示任何字符,因此会被转义),后跟其他字符 (.*),直到字符串末尾($) 并将其替换为空白 ("")

 gsub("^[^,]*,\\s*|\\..*$", "", str1)
 #[1] "yyy"

如果我们不需要regex,则strsplit字符串由后跟零个或多个空格或使用 并选择将 list 输出转换为 vector 后的第二个条目 ([[1]])

strsplit(str1, ",\\s*|\\.")[[1]][2]
#[1] "yyy"

数据

str1 <-  "xxx, yyy. zzz" 

关于r - 符号之前/之后的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44846385/

相关文章:

python - 字符串类型变量的自定义千位分隔符

c++ - 在 C++ 类中使用字符串输出错误

javascript - 无法在 JavaScript 中获取字符串的子字符串

c++ - 有没有一种检查 C++ 中常见子字符串的好方法?

将 .sav 文件读入 R

r - 插入符号包 : Is it possible to implement my own bootstrapping method?

r - 我们如何立即将 tidyr::spread() 应用于所有分类变量,为每个分类变量的每个级别创建新列?

R:将大量行的数据框写入Excel

string - 找到二进制字符串时删除文件中的字节

string - 在powershell中提取部分字符串