全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3986 4
2017-01-31
悬赏 500 个论坛币 已解决
想问一下 如何实现一下的replace_one_phrase 和 replace_phrases 这两段代码


replace_one_phrase <- function (text, phrase)
> t <- c("I","like","hot","dogs","a","lot","hot","dogs","forever")
> t
[1] "I" "like" "hot" "dogs" "a" "lot" "hot"
[8] "dogs" "forever"
> replace_one_phrase(t,c("hot","dogs"))
[1] "I" "like" "hot_dogs" "a" "lot" "hot_dogs" "forever"

> replace_phrases (c("ab","pq","xy"), list(c("ab","pq"),c("pq","xy")))
[1] "ab_pq" "xy"

最佳答案

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-1-31 01:31:24
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-1-31 09:35:25
t = c("I","like","hot","dogs","a","lot","hot","dogs","forever")
replace_phrases <- function(vec, ph){
  while(1){
    ind = c()
    l = 0
    for(j in 1:length(ph)){
      ind1 = match(ph[[j]], vec)
      if(all(!is.na(ind1))){
        if(length(ind) == 0 || ind[1] > ind1[1]){
          ind = ind1
          l = ph[[j]]
        }
      }
    }
    if(length(ind) == 0){
      return(vec)
      break
    }else{
      vec[ind[1]] = paste(l, collapse = '_')
      vec = vec[-ind[2:length(ind)]]
    }
  }
}

replace_phrases(t, list(c("hot", "dogs")))
replace_phrases(c("ab","pq","xy"), list(c("ab","pq"),c("pq","xy")))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-1-31 20:59:36
十分感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-2-28 16:48:21
好,谢谢楼主推荐!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群