例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
#include<stdio.h> (737)#include<stdlib.h> #include<string.h> (845)#include<string> #include<iostream> (720)#include<vector> #include<algorithm> using namespace std; int main() { string a,b,c; vector<int> vec; /*cin>>a; cin>>b;*/ getline(cin,a);//输入一行第一个序列 getline(cin,b);//第二个序列 for(int i=0;i<b.length();i++) { for(int j=0;j<a.length();j++) { if(a[j]==b[i]) { vec.push_back(j); } } } //for(int i=0;i<vec.size();i++) //{ // cout<<vec[i]<<endl; // //} for(int j=0;j<a.length();j++) { vector<int>::iterator it; it=find(vec.begin(),vec.end(),j); if(it==vec.end()) { c=c+a[j];//c创建一个序列 } } cout<<c<<endl; system("pause"); }
// string_del.cpp : 定义控制台应用程序的入口点。 // #include <stdio.h> #include <string.h> #define NUM_MAX 1000 static char string1[NUM_MAX]="They are students."; static char string2[NUM_MAX]="aeiou"; void main() { int string1_size,string2_size,string1_temp; string1_size=strlen(string1); string2_size=strlen(string2); printf("string1:\n"); puts(string1); printf("string2:\n"); puts(string2); for(int i=0; i<string2_size; i++){ for(int j=0; j<string1_size; j++){ if(string1[j]==string2[i]){ string1_temp=strlen(string1); for(int k=j; k<string1_temp; k++){ string1[k]=string1[k+1]; } } } } printf("del after string1:\n"); puts(string1); }
#include <iostream> #include <vector> #include <string> using namespace std; int main() { string str1 = ""; string str2 = ""; getline(cin, str1); getline(cin, str2); vector<size_t>v; for (size_t i = 0; i < str1.size(); i++) { for (size_t j = 0; j < str2.size(); j++) { if(str1[i]==str2[j]) v.push_back(i); } } for (size_t i = 0; i < v.size(); i++) { v[i] -= i; } for (size_t i = 0; i < v.size(); i++) { str1.erase(v[i], 1); } cout << str1 << endl; return 0; }
public class Main{ public String fun(String str1, String str2){ char[] chars2 = str2.toCharArray(); char[] chars1 = str1.toCharArray(); HashTable table = new HashTable(); for(char c : chars2){ table.put(c,1); } String res = ""; for(int i=0;i<chars1.length;i++){ if(table.containsKey(chars[i])){ continue; } res += chars1[i]; } return res; } }
/** * 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符 * @param {String} target 目标字符串 * @param {String} str 需要删除的字符串 * @returns {String} */ function deleteAllStr(target,str){ for(let i = 0 ; i < str.length; i++){ target = target.replace(new RegExp(str[i],'gi'),''); } return target; }
#include<stdio.h> #include<string.h> #include<>stdlib.h> void D(char*str1,char*str2) { char*pFast=str1; char*pSlow=str2; int a[256]={0}; int i; int n=strlen(str2); for(i=0;i<n;++i) { a[str2[i]]=1; } while(*pFast) { if(a[*pFast]==0) { *pSlow=*pFast; pSlow++; } pFast++; } *pSlow='\0'; } int main() { char str1[1000]; char str2[1000]; gets(str1); gets(str2); D(str1,str2); printf("%s\n",str2); return 0; }