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

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

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

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

10个回答

 (?<=(.*\/.*){2}\/).*
ccc9149
未知昵称 正则表示判断出第三个/后面的内容,并且输出
2 年多之前 回复
ccc9149
未知昵称 基于正则表达式,能帮忙写一个完整的例子吗?
2 年多之前 回复

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

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

ccc9149
未知昵称 任意的,最好用正则表达式去判断
2 年多之前 回复

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

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

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

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

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
未知昵称 用正则表达式去判断呢?
2 年多之前 回复

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

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个吧。看你是什么需求吧

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

ccc9149
未知昵称 嗯,入门初学者
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐