我目前有一个导入的 CSV 数据的数据框。它是名字和姓氏、职务和公司名称的列表。每个条目都位于单独的行上。姓名、职务和公司名称均大写。
每一行的格式如下:
First LastTitle, Company
我想在“标题”之前插入一个逗号分隔符,这样我就可以将数据排序为三列,就像这个问题的第二个答案:splitting comma separated mixed text and numeric string with strsplit in R .
本质上,在这种特定情况下,我想找到每个字符串中的第三个大写字母,然后在其前面插入一个逗号分隔符。
这个答案显示了如何按大写字母拆分字符串,但似乎只找到第一个大写字母: Splitting String based on letters case .
如有任何建议,我们将不胜感激。
最佳答案
将字符串拆分为字符向量,然后使用grep
查找大写字母的位置,然后取第三个位置。
str <- "First LastTitle, Company"
tmp_str <- unlist(strsplit(str, ""))
ind <- grep("[A-Z]", tmp_str)[3]
paste0(c(tmp_str[1:(ind-1)], ",", tmp_str[ind:nchar(str)]), collapse="")
#[1] "First Last,Title, Company"
关于r - 在 R 字符串中的第 n 个大写字母之前插入分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31996407/