子串删除程序, 抛砖引玉
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *temp;
void del_sub_str(char**s, char* sub)
{
int len1 = strlen(*s);
int len2 = strlen(sub);
if(len1 < len2)
return;
if(strcmp(*s, sub) ==0)
{
strcpy(*s, "");
return;
}
strcpy(temp, *s);
int i ;
for( i = 0; i < len1 - len2; i++)
{
if(*temp == *sub)
{
char *t = sub;
while(*t!='\0'&&(*t++ == *temp++));
if(*t == '\0')
{
break;
}
}
temp++;
}
if(i >= len1 - len2 )
{
return;
}
strcpy((*s)+(len1 - strlen(temp) - len2), temp);
del_sub_str(s, sub);
}
void main()
{
char *s = new char[1024];
temp = new char[1024];
char *t = temp;
strcpy(s, "abcdabbaabbkk");
del_sub_str(&s, "ab");
printf("%s\n", s);
delete s;
delete t;
}
...全文
相关推荐
在一个字符串中查找子串的个数
#### 1.2 子串子串是指原字符串中的连续字符序列。例如,在字符串 "HelloWorld" 中,“ello”、“oWo” 和 “Worl” 都是该字符串的有效子串。
查找最长公共子串
如果一个字符串s是另一个字符串t的子串,并且s同时存在于两个或多个字符串中,那么s就被称为这些字符串的公共子串。
java 记录一个子串在整串中出现的次数实例
获取到之后,再在整串中该索引加上子串长度的位置处继续查找子串(可以通过String类的subString()方法将整串的剩余部分截取出来,然后在剩余整串中从头查找子串)。4.
在母串中查找某子串出现的最后位置
- 在每次循环中,比较母串指针指向的子串是否与目标子串相同。 - 如果相同,更新子串最后出现的位置为当前母串指针的索引。4. 循环结束后,子串最后出现的位置变量即为所求结果。
java实现求两个字符串最长公共子串的方法
首先,我们需要理解什么是字符串的最长公共子串。两个字符串的公共子串是指同时存在于这两个字符串中的任意非空子序列。最长公共子串则是这些子串中长度最长的一个。


