使用C++回复,如何将这样类型的文件名FRONT_TAB_EPJ306D3AAC3_W-B1.jpg中的EPJ306D3AAC3部分提取出来,用_分割的方式提取
时间: 2024-01-22 14:18:04 浏览: 44
你可以使用 C++ 中的字符串操作函数来实现这个功能。具体实现过程如下:
1. 先找到文件名中第一个 '_' 的位置;
2. 将第一个 '_' 到 '.' 之间的子字符串截取出来;
3. 再找到截取出来的子字符串中最后一个 '_' 的位置;
4. 将最后一个 '_' 到字符串末尾之间的子字符串截取出来,即为需要提取的部分。
代码示例如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string filename = "FRONT_TAB_EPJ306D3AAC3_W-B1.jpg";
// 找到第一个下划线的位置
int first_underline = filename.find_first_of('_');
// 截取第一个下划线到 '.' 之间的子字符串
string substring = filename.substr(first_underline + 1, filename.find_last_of('.') - first_underline - 1);
// 找到最后一个下划线的位置
int last_underline = substring.find_last_of('_');
// 截取最后一个下划线到字符串末尾之间的子字符串
string result = substring.substr(last_underline + 1);
cout << result << endl;
return 0;
}
```
输出结果为:
```
EPJ306D3AAC3
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)