gpt4 book ai didi

c - 我如何在 c 中以这种方式获取 substr?

转载 作者:太空狗 更新时间:2023-10-29 15:05:01 25 4
gpt4 key购买 nike

/^[^\s]+\s([^\s]+)\s/

在 PHP 中,我可以使用正则表达式通过 $1 获取子字符串,

我应该如何用 C 实现?

不过,如果不用正则表达式就更好了。

更新

简单地说,如何从 swerwer werwerur y(第二个)中获取 werwerur

最佳答案

我推荐使用 strchr() - 在字符串中查找字符非常快

#include <string.h>..char str[] = "swerwer werwerur y";char *p1 = NULL,*p2 = NULL;p1 = strchr(str,' ');p1++;p2 = strchr(p1,' ');if(p2) *p2 = 0;printf("found: %s\n", p1);

如果您有多个定界符,您可以使用 strtok_r() 或 strpbrk(),如下例所示:

    char str[] = "swerwer ., werwerur + y";    const char *dlms = " .,+";    char *p1 = NULL,*p2 = NULL;    p1 = strpbrk(str,dlms);    while(strchr(dlms,*p1)) p1++;    p2 = strpbrk(p1,dlms);    if(p2) *p2 = 0;    printf("found: %s\n", p1);

(应该清理代码:以防 strpbrk 返回 NULL)

关于c - 我如何在 c 中以这种方式获取 substr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com