根据大写字母拆分字符串

时间:2016-01-14 00:05:52

标签: regex r

如何根据字符串包含的每个大写字母拆分字符串。无法从互联网上找到任何帮助。

a<-"MiXeD"
b<-"ServiceEventId"

我想得到

a<-c("Mi", "Xe", "D")
b<-c("Service", "Event", "Id")

2 个答案:

答案 0 :(得分:2)

这是一个选项,它使用一个lookbehind和一个前瞻断言来查找(然后拆分)字符间空格,后面紧跟一个大写字母。要了解为什么需要前瞻和后瞻断言(即不仅仅是先行断言)see this question and its answers

exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in /Applications/XAMPP/xamppfiles/htdocs/getData.php:63 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/getData.php(63): PDOStatement->bindParam(':date', '2016-1-14', 2) #1 {main}

答案 1 :(得分:2)

使用 stringr 包中的str_extract_all

library(stringr)
str_extract_all(x, "[A-Z][a-z]*")

str_extract_all(x, "[A-Z][a-z]*|[a-z]+")