c++ - 从字符串中获取键/值对并存储在映射中

标签 c++ string split

将字符串一分为二的最佳方法是什么?我有这个,但无法正确获得“名称”,因为 substr 不允许我设置从哪里开始和从哪里结束,只能从哪里开始以及有多少个字符(我不知道):

string query = "key=value";
string key;
string value;
int positionOfEquals = query.find("=");
key = query.substr(0, positionOfEquals );
value = query.substr(positionOfEquals + 1);

最佳答案

你的方法很好,但你仍然有一个错误。如果没有'='怎么办?

string query = "key=value";
string key;
string value;
int positionOfEquals = query.find("=");
key = query.substr(0, positionOfEquals );
if(positionOfEquals != string::npos)
  value = query.substr(positionOfEquals + 1);

关于c++ - 从字符串中获取键/值对并存储在映射中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7487254/

相关文章:

c++ - 双重分派(dispatch)的循环依赖

c++ - CMAKE_CXX_SOURCE_FILE_EXTENSIONS 不适用于推力/cuda

c++ - 为什么在C++中可以写出string s = "xxx"这样的表达式?

C# 字符串测量

java - SimpleDateFormat,需要文本月份

java - 以GB为单位分割一个巨大的XML,保留页眉和页脚 - 相同的结构

c++ - 如何使用 Boost.Asio 正确实现 async/await 语法

Python:字符串中有多少相似的词?

java - 当分割字符恰好出现两次时分割字符串

powershell - 在Powershell中等效于* Nix 'cut'命令?