该程序将搜索文本中所有出现的 oldword,并将其替换为 newword。
让我们举个例子来理解这个问题 -
输入text = “i am learning programming”oldword = “learning”newword = “practicing”
输出“i am practicing programming”
为了解决这个问题,我们首先会找到字符串中旧单词出现的次数,然后创建一个新的字符串,将文本中的单词替换掉。
c程序:用另一个给定的单词替换文本中的一个单词// c程序:用另一个给定的单词替换文本中的一个单词
示例 在线演示
#include <stdio.h>#include <string.h>#include <stdlib.h>void replacewordintext(const char *text, const char *oldword, const char *newword) { int i = 0, cnt = 0; int len1 = strlen(newword); int len2 = strlen(oldword); for (i = 0; text[i] != '\0'; i++) { if (strstr(&text[i], oldword) == &text[i]) { cnt++; i += len2 - 1; } } char *newstring = (char *)malloc(i + cnt * (len1 - len2) + 1); i = 0; while (*text) { if (strstr(text, oldword) == text) { strcpy(&newstring[i], newword); i += len1; text += len2; } else newstring[i++] = *text++; } printf("new string: %s
", newstring);}int main() { char str[] = "i am learning programming"; char c[] = "learning"; char d[] = "practicing"; char *result = null; printf("original string: %s
", str); replacewordintext(str, c, d); return 0;}
输出original string: i am learning programmingnew string: i am practicing programming
以上就是c程序:将文本中的一个单词替换为另一个给定的单词的详细内容。