C 删除字符串1中的字符串2

#include<stdio.h>

#include<string.h>

void main()

{

char s1[1000],s2[100],b[100];

int i,j,k,len1,len2;

gets(s1);

gets(s2);

len1=strlen(s1);

len2=strlen(s2);

for(i=0,k=0;i<len1;i++)

{

for(j=0;j<len2;j++)

if(s1[i+j]!=s2[j])break;

if(j>=len2)

{

b[k]=i+1;  //b[k]为s1中s2出现的位置

k++;         //k 为s2在s1中出现的次数

}

}

printf("%d\n",k);

for(i=0;i<k;i++)

printf("%d ",b[i]);

printf("\n");

for(j=0;j<k;j++)        //去掉s1中的s2

for(i=0;i<len2;i++)

s1[b[j]-1+i]=‘*‘;

for(i=0;i<len1;i++)

if(s1[i]!=‘*‘)

printf("%c",s1[i]);

printf("\n");

}

C 删除字符串1中的字符串2

时间: 2024-08-29 13:51:06

C 删除字符串1中的字符串2的相关文章

字符串--java中判断字符串是否为数字的方法的几种方法?

ava中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 2.用正则表达式 首先要import java.u

【转】BAT批处理中的字符串处理详解(字符串截取)

下面对这些功能一一进行讲解. 1.截取字符串 截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符.举例说明其基本功能: @echo off set ifo=abcdefghijklmnopqrstuvwxyz0123456789 echo 原字符串(第二行为各字符的序号): echo %ifo% echo 123456789012345678901234567890123456 echo 截取前5个字符: echo %ifo:~0,5% ech

6.Java中的字符串

1.String的特性 特性一:不可变性 String s=new String("yangyun") s=s.toUpperCase(); 这里的s,s占用的空间是不一样的(地址不相同),前提是toUpperCase函数确实改变了原始s的内容. 为什么String是不可变对象?-----cankai 1.效率问题 如果你知道一个对象是不可变的,那么需要拷贝这个对象的内容时,就不用复制它的本身而只是复制它的地址,复制地址(通常一个指针的大小)需要很小的内存效率也很高. 2.安全性 不可

c#中的字符串查找函数

indexOf()方法,查找某字符串在一个字符串内的位置,没有则返回-1string aa="abcdef";int a=aa.indexOf("bc");//a会等于1int b=aa.indexOf("a");//b会等于0int c=aa.indexOf("g");c会等于-1所以你只要判断返回出来的int值是不是小于0就知道这个字符串里有没有包含指定的另一个字符串 c#中的字符串查找函数,布布扣,bubuko.com

java中关于字符串的陷阱

1.一般面试题都会出关于String  java = new String("I love java");这条语句创建了几个字符串对象?我在最开始时一直认为是只创建了一个字符串对象,但其实是创建了两个字符串对象,第一个是构造函数中作为形参的直接量对象,第二个则是构造函数返回的字符串对象. 而在 java中创建对象一般有四种方法:1.通过new调用构造函数来创建.2.通过Class对象的newInstance()方法调用构造函数来创建.3.通过java的反序列化机制从io流中恢复java

C++中对字符串进行插入、替换、删除操作

#include <iostream> #include <string> using std::cout; using std::endl; using std::string; int main(void){ string str1="We can insert a string"; string str2="a str into "; //在字符串指定位置前面插入指定字符串 cout <<str1.insert(14,str

将字符串s1中的任何与字符串s2中字符匹配的字符都删除

编写一个程序,将字符串s1中的任何与字符串s2中字符匹配的字符都删除. 函数原型:void my_squeeze(char s1[], char s2[]) #include <stdio.h> void my_squeeze(char s1[], char s2[]) { int i = 0; int j = 0; while (s2[j]) { while(s1[i]) { if (s2[j]==s1[i]) { while (s1[i+1]) { s1[i] = s1[i + 1]; i

删除string类型字符串中指定字符串段

1.实现背景 在插入list行时用邮件的MessageID给对应行命名. 在回复全部邮件时,收件人变为之前收件人中出去“自己”同时加入之前发件人,抄送人还是之前的抄送人,密送人不用管,直接不用带. 在“回复全部”按钮响应函数里面 CListUI* pList = static_cast<CListUI*>(m_PaintManager.FindControl(_T("middle_comlumn_header1")));//拿到list控件指针            int

07.C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串

方式一:使用lambda表达式筛选过滤掉数组中空字符串         1 /// <summary> 2 /// 使用lambda表达式排除/过滤/清空/删除掉字符串数组中的空字符串 3 /// </summary> 4 /// <param name="args"></param> 5 static void Main(string[] args) 6 { 7 string[] strArray = { "",&q