从C中的字符串获取文本的特定部分
对于我正在开发的程序,我需要从在线xml文档中获取特定区域的信息。现在我已经将xml保存为字符串,然后使用从C中的字符串获取文本的特定部分,c,string,C,String,对于我正在开发的程序,我需要从在线xml文档中获取特定区域的信息。现在我已经将xml保存为字符串,然后使用press=xml.substr(1906,5)从中获取我需要的内容。这是我从中提取信息的一行:30.17问题是,如果中间的值大于指定的长度(本例中为5个字符),我无法获得所需的值。如何可靠地获取它?首先将字符串转换为xml结构,然后使用XPath选择器提取所需内容。这里有一个非常简单的例子: 您是否考虑过这样的事情: #include <stdio.h> #include &l
press=xml.substr(1906,5)代码>从中获取我需要的内容。这是我从中提取信息的一行:30.17
问题是,如果中间的值大于指定的长度(本例中为5个字符),我无法获得所需的值。如何可靠地获取它?首先将字符串转换为xml结构,然后使用XPath选择器提取所需内容。这里有一个非常简单的例子:
您是否考虑过这样的事情:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main ()
{
// sample string below:
char* xmlText = "<pressure_in>30.17134</pressure_in>";
int n = strlen(xmlText);
for (int i = 0; i<n; i++) {
if (isdigit(xmlText[i]) || xmlText[i] == '.') {
// store result or just print:
printf("%c",xmlText[i]);
}
}
printf("\n")
return 0;
}
如果您不需要一个完整的XML解析器就可以得到这一行,那么只需使用一个简单的正则表达式即可。谢谢,这帮我弄清楚了该怎么做。
30.17134