社区
C++ Builder
帖子详情
从头搜索字符串可以用pos方法。从尾呢?
hsn1982
2005-07-04 10:20:25
从字符串末尾开始搜索用什么方法
...全文
207
7
打赏
收藏
从头搜索字符串可以用pos方法。从尾呢?
从字符串末尾开始搜索用什么方法
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
F117p
2005-07-04
打赏
举报
回复
原理也是将字符串反一下。
利用STL的:
reverse;
代码:
AnsiString str;
...
int L=str.Length();
char *tmp=new char[L];
strcpy(tmp,str.c_str());
using namespace std
reverse(tmp,tmp+L);//反转
str=tmp;
...
str.Pos(...
僵哥
2005-07-04
打赏
举报
回复
上面这个速度很慢,建议使用char数组+指针来操作,那样会快很多。
僵哥
2005-07-04
打赏
举报
回复
__int64 SwapPos(AnsiString strSource,AnsiString strFind)
{
__int64 pPos,pSLen,pFLen;
pPos=0;
pSLen=strSource.Length();
pFLen=strFind.Length();
if(pSLen==pFLen&&strSource==strFind)
return 1;
if(pSLen<pFLen)
return 0;
for(__int64 i=0;i<pSLen;i++)
{
AnsiString strTmp=strSource.SubString(pSLen-pFLen+1-i,pFLen);
if(strTmp==strFind)
{
pPos=pSLen-pFLen+1-i;
break;
}
}
return pPos;
}
僵哥
2005-07-04
打赏
举报
回复
{
__int64 pPos,pSLen,pFLen;
pPos=0;
pSLen=strSource.Length();
pFLen=strFind.Length();
if(pSLen==pFLen&&strSource==strFind)
return 1;
if(pSLen<pFLen)
return 0;
for(__int64 i=0;i<pSLen;i++)
{
AnsiString strTmp=strSource.SubString(pSLen-pFLen+1-i,pFLen);
if(strTmp==strFind)
{
pPos=pSLen-pFLen+1-i;
break;
}
}
return pPos;
}
F117p
2005-07-04
打赏
举报
回复
既然是只是单独的字符串,
理论上这点开销对于系统来说,无关痛痒
如果实在是很大的串,可以考虑将原串分割成N个小串,再进行操作。
Waiting4you
2005-07-04
打赏
举报
回复
没有,把两个字符串反过来再用Pos方法
僵哥
2005-07-04
打赏
举报
回复
如果要查找的源串相当大是,那么楼上的操作开销可不蛮小哦。
KMP
字符串
模式匹配详解
### KMP
字符串
模式匹配详解 #### 一、引言 KMP算法,全称为Knuth-Morris-Pratt算法,是一种高效的
字符串
模式匹配算法。它主要用于在一个文本串中寻找一个模式串的位置,相比于传统的暴力匹配算法,KMP算法能够显著...
字符串
KMP算法c语言
KMP算法由Donald Knuth、James H.Morris以及Vaughan Pratt共同发明,它是一种在主
字符串
中查找模式
字符串
的算法,相比于朴素的
字符串
匹配算法,KMP算法能够避免重复比较,大大提高了
搜索
效率。 #### KMP算法原理 ...
KMP
字符串
模式匹配算法[文].pdf
该算法的关键在于,当某个位置的匹配不成功时,根据之前的匹配结果,从模式
字符串
的另一个位置开始新的比较,而不必
从头
开始匹配
字符串
。 KMP算法的实现可以分为两个步骤:首先,生成模式
字符串
的next数组;然后,...
Python
字符串
匹配算法KMP实例
这样,在主串(被查找的
字符串
)与模式串比较时,如果出现不匹配,可以通过部分匹配表快速跳过已匹配的部分,而不需要重新
从头
开始。 首先,我们来详细解释一下`next`函数。这个函数的作用是计算模式串的next数组。...
KMP
字符串
模式匹配详解
### KMP
字符串
模式匹配详解 #### 一、简介 KMP算法是一种高效的
字符串
模式匹配算法,由D.E. Knuth、J.H. Morris和V.R. Pratt三人共同提出,因此得名Knuth-Morris-Pratt算法。相较于简单的
字符串
匹配算法,KMP算法...
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章