r - 在 R 字符串中的第 n 个大写字母之前插入分隔符

标签 r string

我目前有一个导入的 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/

相关文章:

r - 在 r 中的 unique() 函数中使用管道不起作用

python - 如何在 Maya 中使用 Def Function 字符串

C#/.NET : Can I get a string of valid HTML from a Stream?

r - knitr 中的波斯语字符

r - 在 R bookdown 中折叠一般文本

r - 列出具有特定单词和文件扩展名的文件

c++ - 当我反转我的字符串时,我得到一个数字 2

c# - 如何修剪 IP 地址以获得它的前 3 部分?

c - 替换字符串中的字符

r - 关于摆脱循环的建议