r - 拆分具有非空格连字符的字符串
问题描述
我有如下字符串:
2 - 5-< 2
6 - 10-< 2
6 - 10-2 - 5
> 15-2 - 5
我想将这些字符串拆分到 - 既不在空格之前也不在空格之后的位置。因此,上面的字符串将按如下方式拆分:
"2 - 5" "< 2"
"6 - 10" "< 2"
"6 - 10" "2 - 5"
"> 15" "2 - 5"
在 R Studio 中,我尝试使用 sub() 和 strsplit() 但我发现很难设置正确的正则表达式。有人有线索吗?
解决方案
perl=TRUE
与环视一起使用:
vec <- c("2 - 5-< 2", "6 - 10-< 2", "6 - 10-2 - 5", "> 15-2 - 5")
strsplit(vec, "(?<! )-(?!= )", perl=TRUE)
# [[1]]
# [1] "2 - 5" "< 2"
# [[2]]
# [1] "6 - 10" "< 2"
# [[3]]
# [1] "6 - 10" "2 - 5"
# [[4]]
# [1] "> 15" "2 - 5"
推荐阅读
- javascript - 无法在 Fire Cloud Firestore 中获取集合的文档
- java - springboot 中的@Value("${welcome}) 抛出非法参数异常,无法解析占位符
- java - java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int android.view.View.getBottom()”
- bash - 用于签出、拉取、修剪提取和删除的 Git 短命令
- database - Grakn 数据验证和更新架构
- java - QueryDsl 不会为 git 子模块的 @Entity 类生成 q-classes
- mysql - 如何从两个不同的表中获取两个不同列的总和并将它们分组
- java - Spring data couchbase 4.0.0 - 使用列表保存对象始终为空
- json - Azure Cosmos DB - 如何从类似于从 SQL 表中检索列名的文档中检索 json 属性
- pandas - 将字典中的所有值弹出到单独的变量中