getline读取C++中用大写字母分隔的文本
getline read text seperated before an UPPERCASE LETTER in C++
log.txt
AwBcDoFgAgHmLoCb
AwCcDoAgBgHmCoZb
GwDcFoFgAgNmOoBb
main.cpp
#include <iostream>
#include <fstream>
using namespace std;
main()
{
string output;
int counter=0;
ifstream readLog;
readLog.open("log.txt");
while(!readLog.eof())
{
getline(readLog,output); //read string line by line from the log.txt
cout<<counter+1<<"* "<<output<<endl;
counter++;
}
}
输出
1* AwBcDoFgAgHmLoCb
2* AwCcDoAgBgHmCoZb
3* GwDcFoFgAgNmOoBb
我的问题出现在这里,我知道如果字符串之间有分隔符。我们可以使用多个
Aw:Bc:Do:Fg:Ag:Hm:Lo:Cb
getline(readLog,output,':'); //output: Aw
getline(readLog,output,':'); //output: Bc
getline(readLog,output,':'); //output: Do
getline(readLog,output,':'); //output: Fg
getline(readLog,output,':'); //output: Ag
getline(readLog,output,':'); //output: Hm
getline(readLog,output,':'); //output: Lo
getline(readLog,output); //output: Cb
但是现在没有TEXT之间的分隔符。我想在大写字母之前阅读输出
Example: AwBc
I just want to read in Aw and Bc Seperately, how can I make it works?
Is there any code can be written like
getline(readLog,output,'<UPPERCASE LETTER FUNCTION>');
输出(*预期)
Aw
Bc
很抱歉我问了这么长的问题,因为我希望阅读和观看的人更容易理解。提前感谢您对的回答
您可以处理读取的文本,也可以使用正则表达式来拆分如下内容:
const std::string s = "AwBcDoFgAgHmLoCb";
boost::regex words_regex("[A-Z][a-z]");
auto words_begin =
boost::sregex_iterator(s.begin(), s.end(), words_regex);
auto words_end = boost::sregex_iterator();
循环组使用:
for (boost::sregex_iterator i = words_begin; i != words_end; ++i) {
boost::smatch match = *i;
std::string match_str = match.str();
std::cout << match_str << 'n';
}
Demo Here
此处使用Boost,但我认为您可以使用std::regex(GCC 4.9)
相关文章:
- 无法通过空白将文本文件行分隔为矢量
- 通过分隔符分隔包含 UTF-16 BE 文本的uint8_t数组
- 如何更新和删除文本文件中的特定逗号分隔值?C++
- 非空格分隔的文本文件到 2D 矢量
- 将制表符分隔的值从文本文件读取到数组中
- 正在读取由换行符分隔的文本文件.unix上的C++
- 如何将逗号分隔的文本文件读入数组
- 文本文件解析C++|用空格分隔
- 从文本文件读取 -- 分隔线条的元素
- 知道文本文件中的列数,用空格或制表符分隔
- C++ 从空格分隔的文本文件中填充字符串向量
- 使用制表符分隔的文本填充字符串向量
- 读取空格将数字从文本文件分隔到整数数组 (C++)
- 将文本文件读取为用不同字符分隔的C++值
- getline读取C++中用大写字母分隔的文本
- 从逗号分隔的文本文件中创建有意义的数据向量的最佳方法是什么?
- 用分隔符分隔行以解析文本文件
- 如何有序地显示以冒号分隔的文本文件
- 查找由换行符分隔的字符串中的特定文本
- 保存一个结构向量到一个Tab分隔的文本文件