实现一串字符串的的某一段替换

#include<stdio.h>
#include<string.h>
int input_array(char *ptr)
{
	scanf("%s",ptr);
	getchar();
}

int	str_replace(char* ptra,char *ptrb,char *ptrc)
{
	int reta = 0,retb = 0;
	int i = 0,j= 0,x = 0;
	char* pa = NULL;
	char* pb = NULL;
	reta = strlen(ptra);
	retb = strlen(ptrb);
	for(i=0;i<reta;i++)
	{
		if(*ptra==*ptrb)
		{
			pa=ptra;
			pb=ptrb;
			for(j=1; j<retb; j++)
			{
				if(( *(pa+j) == *(pb+j))&&(j<=(retb-1)))
				{
					for(x =0;x<retb;x++)
					{
						*(ptra+x)=*(ptrc+x);
					}
				}
				else break;

			}
		}
		ptra++;
	}

}
int main(int argc,char *argv[])
{
	int i = 0;
	char a[100] = {0};
	char b[100] = {0};
	char c[100] = {0};
	printf("请输入一串字符串");
	input_array(a);
	printf("请输入要替换的字符串");
	input_array(b);
	printf("请输入目标字符串:");
	input_array(c);
	str_replace(a,b,c);
	for(i=0;i<strlen(a);i++)
	{
		printf("%c",a[i]);
	}
	printf("\n");
	return 0;
}
时间: 2024-10-10 17:49:58

实现一串字符串的的某一段替换的相关文章

今天面试问了一道题。说一串字符串由这几个符号组成&quot;&lt;&gt;{}[]()”,写一个算法,例如如果组成方式为“&lt;&gt;{[]}{}()”这种,也就是XML格式那种则返回true。否则返回false;

原创 今天面试问了一道题.说一串字符串由这几个符号组成"<>{}[]()",写一个算法,例如如果组成方式为"<>{[]}{}()"这种,也就是XML格式那种则返回true.否则返回false: 当时没想出来, 只想到了回文数解决办法.回文数解决办法是颠倒比较,相等为true: 换xml格式当时真没想到啥好方法: 在回来的路上想到了.. .. 去重,吧临近的一组去掉,在递归调用比较去重直到最后,如果有剩下则不返回false:否则true: 代码

53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”

(1)我的错误程序: #include<iostream> #include<string.h> using namespace std; int ZhuanHuan(char); int main() { char a[100]; cout<<"please input a string: "<<endl; cin>>a; for(int i=0;i<strlen(a);i++) { ZhuanHuan(a[i]);

九度1535 重叠的最长字串 字符串哈希

题目描述: 给定两个字符串,求它们前后重叠的最长子串的长度,比如"abcde"和"cdefg"是"cde",长度为3. 输入: 输入可能包含多个测试案例. 对于每个测试案例只有一行, 包含两个字符串.字符串长度不超过1000000,仅包含字符'a'-'z'. 输出: 对应每个测试案例,输出它们前后重叠的最长子串的长度. 样例输入: abcde cdefg 样例输出: 3 #include <iostream> #include <

按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”

1 import java.util.ArrayList; 2 import java.util.Scanner; 3 4 public class Text { 5 6 @SuppressWarnings("resource") 7 public static void main(String[] args) { 8 Scanner scanner = new Scanner(System.in); 9 int M = scanner.nextInt();//M代表输入的M串字符串

Java学习(6):输入一串字符串,分别统计出其中的中英文字母,空格,数字和其他字符的个数

1 import java.util.Scanner; 2 3 /** 4 * 输入一行字符,分别统计出其中的中英文字母,空格,数字和其他字符的个数 5 * 6 * @author xcx 7 * @time 2017年7月22日上午9:08:16 8 */ 9 public class Practice7 { 10 11 public static void main(String[] args) { 12 System.out.println("请输入一串字符串,我们将统计出其中的中英文字母

正则表达式,判断一串字符串里面包含一定的形式,并解析成图片

这个事写qq表情的时候用到的,单独拿出来讲讲. 首先图片0到106张放在res里面,命名为F000到F106 如图 此时在程序里面定义一个方法 public void setData(String msg){ String str = msg; //消息具体内容 String zhengze = "f0[0-9]{2}|f10[0-7]"; //正则表达式,用来判断消息内是否有表情 try { SpannableString spannableString = ExpressionUt

转:假设有一个字符串aabcad,请编写一段程序,去掉字符串中不相邻的重复字符。

假设有一个字符串aabcad,请编写一段程序,去掉字符串中不相邻的重复字符.即上述字串处理之后结果是为:aabcd; 分析,重点考查 char 与int 的隐式转换.程序如下: -(void) removeRepeat:(NSString *)aNum { NSMutableArray *mArr = [[NSMutableArray alloc]initWithCapacity:10]; for(int i = 0; i<aNum.length; i++) { [mArr addObject:

Swift字符串的插入、删除和替换-备

对应可变字符串可以插入.删除和替换,String提供了几个方法可以帮助实现这些操作.这些方法如下: splice(_:atIndex:).在索引位置插入字符串. insert(_:atIndex:).在索引位置插入字符. removeAtIndex(_:).在索引位置删除字符. removeRange(_:).删除指定范围内的字符串. replaceRange(_:,with: String) .使用字符串或字符替换指定范围内的字符串. 代码: var str ="Swift" pri

判断一个字符串里是否含有某段字符?怎么截取一段字符?

写前端过程中遇到的最多的字符串操作莫过于 :判断一个字符串里是否含有某段字符 ,和 截取一段字符串. 字符串操作有很多方法,其实一般只要掌握以上两个就够用了,其他方法随他去吧,好,下面就以上两个方法讲解一下. 1.判断一个字符串是否含有某段字符,使用indexOf()方法: str.indexOf("参数1","参数2");参数1表示判断是否包含的小字符串, 参数2表示从左到有依次判断的起始位置,默认从0开始,str表示用于寻找的原字符串,ps:如果原字符串含多个判