c语言如何提取文本中的数据

avatar
作者
筋斗云
阅读量:0

要提取文本中的数据,可以使用C语言中的字符串处理函数和正则表达式库。以下是一种提取数字的示例代码:

#include <stdio.h> #include <string.h> #include <regex.h>  int main() {     char text[] = "The price of the product is $99.99";     char pattern[] = "\\$([0-9]+\\.[0-9]+)";          regex_t regex;     regmatch_t matches[2];          if(regcomp(&regex, pattern, REG_EXTENDED) != 0) {         printf("Error compiling regex\n");         return 1;     }          if(regexec(&regex, text, 2, matches, 0) == 0) {         char price[20];         strncpy(price, text + matches[1].rm_so, matches[1].rm_eo - matches[1].rm_so);         price[matches[1].rm_eo - matches[1].rm_so] = '\0';         printf("Price: %s\n", price);     } else {         printf("No match found\n");     }          regfree(&regex);          return 0; } 

在这个示例中,我们使用正则表达式来匹配文本中的价格($99.99)。我们首先编译正则表达式,然后使用regexec函数在文本中查找匹配项。如果找到匹配项,我们从文本中提取价格并打印出来。最后,我们释放正则表达式对象。

请注意,这只是一个简单的示例,实际的文本数据提取可能需要更复杂的正则表达式和处理逻辑。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!