如何在c++中提取字符串的一部分
How to extract part of a string in c++
从给定行中提取部分字符串:
给定行为:
D:AB554P_Itr23ModelDirAB554P_approximation_NodeData.dat Read 3/18/2010
我只需要提取文件名AB554P_approximation_NodeData.dat
。我正在使用CodeGear RAD Studio c++ Builder。谢谢:)
你有没有查过string::substr
Boost::Filesystem…
string name = path( "D:\AB554P_Itr23\ModelDir\AB554P_approximation_NodeData.dat").filename()
RTL函数ExtractFileName()
将从路径中提取文件名。
在你的例子中如何分割3个字段在很大程度上取决于形成那行文本的规则是什么。它是如何划分的?它是由空格分隔的吗?如果是,如何转义文件路径中的空格?除非你明确说明了这些信息,否则你的问题的这一部分是无法回答的。
为了处理Windows路径,请使用Windows API的路径函数,如PathFindFileName
。
干杯,hth。
- 这里c++ Parse Split Delimited String你得到main函数。
- 删除空格后的部分,使用:
string s = "D:AB554P_Itr23ModelDir ab554p_approximate _nodedata .dat Read 3/18/2010";
size_t pos;
s.erase (pos);
现在调用split
为''来分割剩余的部分。
您可能想研究正则表达式库,例如Boost Regex。
相关文章:
- C++:如何使函数只返回作为列表一部分的字符串
- 如何将字符串的一部分转换为整数
- 如何有效地将一个大std::字符串的一部分转换为float
- 需要从字符串数组的一部分访问元素
- 当 NUL 字符被定义为字符串的一部分时,为什么 strlen() 不计算终止 NUL 字符的字节?
- 如何正确实现 std::all_of 函数来验证字符串的一部分?
- boost::async_write 跳过字符串的一部分
- 如何在不复制的情况下比较字符串的一部分?
- 我如何在QT中获得字符串的一部分
- 如何在C++中比较数组中字符串的一部分的字符串
- 如何在 c++ 中拆分字符串的一部分
- 字符数组仅占用字符串的一部分
- 如何用双C 替换字符串的一部分
- 如何在字符串中选择句子的一部分 (C++)
- 如何拆分 QString 并将一部分字符串保存在浮点数的向量中
- 为什么C 正则只能找到JavaScript Regex在字符串中找到的一部分
- 字符串操纵和忽略字符串的一部分
- 在C 中更新字符串的一部分
- 有条件地确定字符串是否是数组的一部分
- 尝试在 Cocos2d-X C++中设置一个带有整数作为其字符串一部分的 CCLabelTTF