我只想知道是否有可能拾取两个定界符(定界符为字符串)之间存在的数据。
例如原始字符串如下
<message%20type%3D"info"%20code%3D"20005">%20<text>Conference%20successfully%20modified</text>%20<data>0117246</data>%20%20</message>%20
我想要
<text>
标记之间的数据。我需要数据的字符串可以不同。字符串也可以像这样<message%20type%3D"info"%20code%3D"20001">%20<text>Conference%20deleted</text%20%20<vanity>0116976</vanity>%20</message>%20<message%20type%3D"info"%20code%3D"20002">%20<text>Number%20of%20conferences%20deleted</text>%20<data>1</data>%20%20</message>%20
但是我总是需要
<text>
标记之间的数据。那么用C语言有可能还是有其他选择?
最佳答案
我会选择strstr()
。
例如:
#include <stdio.h>
#include <string.h>
int main(void) {
char data[] = "<message%20type%3D\"info\"%20code"
"%3D\"20005\">%20<text>Conference%"
"20successfully%20modified</text>%"
"20<data>0117246</data>%20%20</mes"
"sage>%20";
char *p1, *p2;
p1 = strstr(data, "<text>");
if (p1) {
p2 = strstr(p1, "</text>");
if (p2) printf("%.*s\n", p2 - p1 - 6, p1 + 6);
}
return 0;
}
关于c - 提取两个定界符之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28451377/