c语言 把某一字符串中的其中一段字符串替换成另一串字符串。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 把某一字符串中的其中一段字符串替换成另一串字符串。相关的知识,希望对你有一定的参考价值。

例如原字符串为“abcdef”,将其中的“bc”换成“xy”,怎么实现?

参考技术A 这个写一个算法吧,搜索字符串,寻找"b",找到后判断b的后一个字符是否为"c",如果不是c,则继续搜索直到字符串结束,如果为c,那么将bc替换为xy。

输入一个字符串,删除其中的数字字符

示例
输入:A1b2c3
输出:Abc
不要写这么复杂的,开头用void main,以上4个都不符合要求啊

#include<stdio.h>
#include<stdlib.h>
int
main()

 char
string[20];
 int
counter
=
0;
 printf("输入字符串:");
 gets(string);
 for(int
k=0;k<20;++k)
 
  if(string[k]>=48
&&
string[k]<=57)
  
   counter++;
  
 
 printf("数字个数:%d",counter);
 system("pause");

参考技术A 楼上的会把ASC2码中数字之前的字符也删掉了,比如+-*/!#等等
#include
<stdio.h>
void
main()
char
str[20],str2[20];
int
i,j=0;
printf("输入字符串:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>57||str[i]<48)str2[j++]=str[i];
str2[j]='\0';
printf("\n删除数字后的字符串:\n");
puts(str2);
参考技术B 楼上的会把ASC2码中数字之前的字符也删掉了,比如+-*/!#等等
#include
void
main()
char
str[20],str2[20];
int
i,j=0;
printf("输入字符串:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>57||str[i]<48)str2[j++]=str[i];
str2[j]='\0';
printf("\n删除数字后的字符串:\n");
puts(str2);
参考技术C #include <stdio.h>

void main()
int i=0,j=0;
char s[20],b[20];

gets(s);

while(s[i]!='\0')

if( s[i]<'0'||s[i]>'9')

b[j++]=s[i];
i++;


puts(b);
参考技术D #include <iostream>
#include <cstring>
#include <cctype>

int main()

char instr[80] = '\0';
char outstr[80] = '\0';
int len = 0;
std::cout << "please input a string:";
std::cin.getline(instr,80);
len=strlen(instr);
for (size_t i=0,j=0; i<len; ++i)

if (!isdigit(instr[i]))

outstr[j] = instr[i];
++j;


std::cout << outstr << std::endl;
system("pause");

以上是关于c语言 把某一字符串中的其中一段字符串替换成另一串字符串。的主要内容,如果未能解决你的问题,请参考以下文章

c语言截取字符串中的一部分

vscode用啥符号把某一段代码包起来,类似C#的#region?

C语言截取字符串

C语言更改字符串中的某一位

C语言一个简单的问题:输入一段文本,计算其中每个单词的出现频率:下面是代码

AIX中怎么用sed把某字符转换成换行符