ccc9149
未知昵称
采纳率89.7%
2018-02-01 08:49 浏览 1.5k
已采纳

写一个C语言程序,读出第三个斜杠后面的字符串,写成一个方法类,可以调用

5

写一个C语言程序,**有这种正则表达式可以用吗???**

判断读出第三个斜杠后面的read-data
if(读取一行字符串,判断第三个斜杠后面的字符串,输出这个斜杠后面的字符串)

例如
test01/test02/test03/test04 读出的字符串为test04

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

10条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2018-02-01 16:29
     (?<=(.*\/.*){2}\/).*
    
    点赞 评论 复制链接分享
  • qq981091829 有点贪玩 2018-02-01 08:59

    正则表达式只是用来匹配的,能判断出该字符串是否含有三个'/' 但是用来截断字符串我还没见有人用过,看看大神会不会。
    这个题,直接简单循环一下就好了啊

    点赞 评论 复制链接分享
  • fuuhoo fuuhoo 2018-02-01 09:07

    可以/****/****/****/的吧,你中间的字符串格式是什么样子的呢?

    点赞 评论 复制链接分享
  • ptonlix ptonlix 2018-02-01 09:10

    strtok_r(), 去搜索一下这个函数,以 / 来分割字符串,取第四个字符串就好了

    点赞 评论 复制链接分享
  • eyao213 明朝2013 2018-02-01 09:17

    用的,百度有很多正则表达式资料,下载去研究下

    点赞 评论 复制链接分享
  • bianxi5265 不是kkk 2018-02-01 09:26

    写一个for循环,判断是否到第3个/

    点赞 评论 复制链接分享
  • joyafa123 joyafa123 2018-02-01 11:26

    简单的方法,用一个循环读取就好了,几行代码:

    std::string str = "test01/test02/test03/test04//hhfghhfghfghfg/fghfghgfjgfjfg/fgjfg/jfg/jfgjfgjf/gj/gf/jgf/jfg/jfg/jfg/jfg/fgj/fg/jfgj/fgj/fg/nCount";

    int nCount = 0;
    std::vector<char>vc;
    for_each(str.begin(), str.end(), [&nCount, &vc](const char ch){
        if (nCount >= 3)
        {
            vc.push_back(ch);
        }
        if ( '/'== ch)
        {
            nCount++;
        }        
    });
    
    点赞 评论 复制链接分享
  • ccc9149 未知昵称 2018-02-02 01:45

    正则表示判断出第三个/后面的内容,并且输出

    点赞 评论 复制链接分享
  • heeroyuy54 heeroyuy54 2018-02-02 06:13

    int main()
    {
    int nsplash, i;
    nsplash=0;
    char s[] = "test01/test02/test03/test04";
    for(i = 0;nsplash < 3 && s[i] != '\0';i++){
    if(s[i] == '/')
    nsplash++;
    }
    for(;s[i] != '\0';i++){
    printf("%c",s[i]);
    }
    return 0;
    }
    你目前需要的规则是第三个splash后的内容。那就这么写吧。然后正则的话很难。基本上熟悉的可能就是10个程序就1个吧。看你是什么需求吧

    点赞 评论 复制链接分享
  • barry_di barry_di 2018-02-02 08:02

    就这么一个小功能还要写成一个方法类?? 还是C语言的方法类,C语言有类? 可以判断你不是一个C语言的开发者。

    点赞 评论 复制链接分享

相关推荐