string StringTest::core_get_param_by_key(string data, string key)
{
int pos = 0;
int count = 0;
string str_sub = "";
string str_result = "";
string str_split = "\"";

// format: "key":"value","key2"...

// 方式1

key = key + "\":\"";
printf("***********key=%s\n", key.c_str());
pos = data.find(key);
if (pos == string::npos) {
return str_result;
}
str_sub = data.substr(pos + key.length(), data.length());
printf("***********str_sub=%s\n", str_sub.c_str());
pos = str_sub.find(str_split);
str_result = str_sub.substr(0, pos);
printf("***********pos=%d, str_result=%s\n", pos, str_result.c_str());
#if 0

//方式2
pos = data.find(key);
if (pos == string::npos) {
return str_result;
}
str_sub = data.substr(pos + key., data.length());
int size = str_sub.size();
pos = str_sub.find(str_split);
while (pos != string::npos) {
str_result = str_sub.substr(0, pos);
str_sub = str_sub.substr(pos + 1, size);
pos = str_sub.find(str_split);
size = str_sub.length();
count++;
if (count >= 3) {
break;
}
}
#endif
return str_result;
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-24
  • 2022-12-23
  • 2021-12-18
猜你喜欢
  • 2022-02-14
  • 2022-12-23
  • 2022-12-23
  • 2022-02-06
  • 2022-12-23
相关资源
相似解决方案