首页 > 解决方案 > R:如何根据其他字符串标记位置在字符串中添加字符?

问题描述

我想根据另一个字符串中的标记位置在字符串中添加标记。我有包含两列的 SOURCE 数据框:“ortho”和“syllabify”。我想使用“下划线”标记创建目标列。来自“ortho”的字符串应根据“sillabify”中的“underlines”位置用“underlines”分隔。

df <- data.frame("agradece", "R_OOR_OR_OR")

SOURCE:  
   ortho    syllabify       
agradeço  R_OOR_OR_OR  
    bala        OR_OR        
 futebol    OR_OR_ORC    

TARGET:  
   ortho    syllabify       TARGET
agradeço  R_OOR_OR_OR  a_gra_de_ço    
    bala        OR_OR        ba_la
 futebol    OR_OR_ORC    fu_te_bol

谢谢你们!

标签: rregexstringsplit

解决方案


我不知道你在想什么语言(Gustavo,Melisso),但是这个,在 Java 中是答案:

初始化器:

String sillabify = "OR_OR_ORC";
String ortho = "futebol";
String answer = returnTheTARGETColumnStringUsingTheUnderlineMarkers(ortho, sillabify);

方法:

public String returnTheTARGETColumnStringUsingTheUnderlineMarkers(String pOrtho, String pSillabify) {
    String target = "";

    int ind = 0;
    while (pSillabify.contains("_")) {
        target = target + pOrtho.substring(0, pSillabify.indexOf("_")) + "_";
        pOrtho = pOrtho.substring(pSillabify.indexOf("_"), pOrtho.length());
        pSillabify = pSillabify.substring(pSillabify.indexOf("_") + 1, pSillabify.length());
    }

    target = target + pOrtho;

    return target;
}

返回“fu_te_bol”。


推荐阅读