查找字符串中某个字符返回字符位置
当然有正则表达式就非常简单,没有的话也不用担心,我们自己写算法完成这个功能.
早期的vs版本不支持vs,当然也可以下载boost来实现,关键还是不想下载,那么就自己写吧.
1.要求,查找字符串中同一个字符,并找出字符的位置.
2.根据字符位置,计算出对应的x,y坐标.
算法第一步,查找字符并输出字符位置信息,计算有几个字符
采用递归查找方法,连续查找.,直到所有都查找完成.
void findNGNum(const string str,int& index,const char ca, int &npos,int Out[])
{if(npos==0)npos=str.find(ca,npos);elsenpos=str.find(ca,npos+1);if(npos>=0){Out[index]=npos;index++;npos=str.find(ca,npos+1);if(npos>=0){Out[index]=npos;index++;}elsereturn;}else{return;}return findNGNum(str,index,ca,npos,Out);}
第二步,.根据输出的位置,解析成坐标信息.这个没有什么难度,.自己发会就好了,起始点不一样,结果也会差异很大,四个角都可以是起始点,选一个适合你的就好了.
特殊案例处理,第一个字符,最后一个也需要兼容,测试通过就可以正常开发了.