我有一些问题,不同的字符串被连接,我想再次拆分.我正在处理诸如此类的事情
name="o-n-Butylhydroxylamine1-MethylpropylhydroxylamineAmino-2-butanol"
Run Code Online (Sandbox Code Playgroud)
在这种情况下,应分成
"o-n-Butylhydroxylamine", "1-Methylpropylhydroxylamine"和"Amino-2-butanol"
有什么想法我可以使用strsplit和/或gsub正则表达式来实现这一目标吗?我想要使用的规则是,当数字,括号("(")或大写字母跟在下限字母后面时,我想分开一个单词.有什么想法怎么做?
Jos*_*ien 10
您可以使用正向查找断言来查找(然后拆分)字符间位置,前面是小写字母,后面是大写字母,数字或a (.
name <- "o-n-Butylhydroxylamine1-MethylpropylhydroxylamineAmino-2-butanol"
pat <- "(?<=[[:lower:]])(?=[[:upper:][:digit:](])"
strsplit(name, pat, perl=TRUE)
# [[1]]
# [1] "o-n-Butylhydroxylamine" "1-Methylpropylhydroxylamine"
# [3] "Amino-2-butanol"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1122 次 |
| 最近记录: |