收藏文章 楼主
R语言 返回某个字符串在某个字符串中第一次出现的位置(类似php的strpos和js的indexOf)
版块:其他技术文章   类型:普通   作者:乐天   查看:9751   回复:6   获赞:1   时间:2019-01-29 11:32:46
今天帮女票写R语言作业,需要用到类似php的strpos函数的函数,但R语言里似乎没有(反正我没百度出来),无奈自己写了一个,在这里记录以备后用:

#indexOf(str,str2),str是被搜索的字符串,str2是搜索的字符串,返回搜索的字符串在被搜索的字符串中第一次出现的位置,找不到返回0
indexOf = function(str,str2){
  cd=nchar(str);
  cd2=nchar(str2);
  if(cd==0||cd2==0){
    return(0);
  }
  for(i in 1:cd){
    t=substr(str,i,i);
    for(j in 1:cd2){
      if(t==substr(str2,j,j)&&j==1){
        if(cd2==1){
          return(i);
        }else{
          c=TRUE;
          for(k in 1:(cd2-1)){
            if(substr(str,i+k,i+k)!=substr(str2,j+k,j+k)){
              c=FALSE;
              break;
            }
          }
          if(c==TRUE){
            return(i);
          }
        }
      }else{
        break;
      }
    }
  }
  return(0);
}

用法举例(找到返回起始位置,从1开始,找不到返回0):

a="hadsky.com轻论坛";
b=indexOf(a,"m轻");
print(b);
#将输出10
b=indexOf(a,"你奶奶的");
print(b);
#将输出0

陕西,西安

有些梦虽然遥不可及,但并不是不可能实现。 
回复列表
默认   热门   正序   倒序
guest
7F
游客Lv0
你奶奶的
 0   2019-02-10 18:24:17  回复
h153669225
6F
秀恩爱,XXX
 0   2019-01-30 18:33:25  回复
黑衣人
5F
有啥用 看不懂

上海,上海

 0   2019-01-30 11:25:21  回复
wolfman
4F
爱域菌Lv99
emotionemotionemotion
 0   2019-01-30 10:59:55  回复
cc1988
3F
cc1988Lv5
666666666666666
 0   2019-01-29 15:40:19  回复
扶摇可接
2F
66666

宁夏,银川

 0   2019-01-29 13:35:09  回复

回复:R语言 返回某个字符串在某个字符串中第一次出现的位置(类似php的strpos和js的indexOf)

暂无用户组
退出
等级:0级
天豆:
游客:

公告

近期本站被人为恶意注册及发布垃圾帖,本站已开启普通用户发帖审核功能,VIP系列用户组不受影响,一但发现发布违法或垃圾帖的用户,该用户账号将会被永久封号,请大家共同维护互联网环境,共创美好互联网未来。

永久免费,购授权享豪礼

3年个人版授权+1940天豆仅需194元

终身个人版授权+3880天豆仅需388元

3年尊享版授权+13580天豆仅需1358元

终身尊享版授权+27160天豆仅需2716元

扫个红包吧,快乐你我他

红包

Powered by HadSky 7.10.0

©2015 - 2022 HadSky

购买产品 用户文档 加入QQ群 授权查询 网站绑定 客户案例 陕ICP备13005805号

您的IP:54.224.117.125,2022-01-28 05:02:55,Processed in 0.04116 second(s).

支持原创软件,抵制盗版,共创美好明天!
头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息
已有0次打赏
(1) 分享
分享

请保存二维码或复制链接进行分享

取消