在编程中,字符串处理是一个非常常见的需求。本文将通过简单的代码示例,讲解如何使用C语言来统计单词数量、替换字符串中的特定单词,以及提取唯一单词。
练习内容
- 替换单词
- 统计指定字符出现的次数
- 统计有多少个英文单词
- 提取唯一单词
替换单词
该函数接受四个参数:原始字符串 text
、要替换的单词 old_word
、替换的新单词 new_word
,以及存放结果的字符串 result
。代码如下:
/**
*句子单词替换
*@text 句子
*@old_word 被替换的单词
*@new_word替换新的单词
*@ret 替换完成的句子
*/
void replace_word(const char* text, const char * old_word, const char* new_word, char* result){
char buffer[TEXT_SIZE] = {0};
const char* position = text;
const char* temp = text;
size_t old_len = strlen(old_word);
while((temp = strstr(position, old_word)) != NULL){ // temp = 查到old字符串之后的整个字符串
strncat(buffer, position, temp - position); // old前的字符加进去
strcat(buffer, new_word); // 字符插入位置
position = temp + old_len; // 从old后位置开始
}
strcat(buffer, position); // 直到没有目标字符,将old后的字符插入
strcpy(result, buffer);
}
统计指定字符出现的个数
该函数遍历字符串,并在遇到指定字符时增加计数器。
/**
*查询句子中指定字符个数
*@text 文本
*@ch 查询的字符
*@return 字符的数量
*/
int count_char(const char* text, char ch){
int count = 0;
while(*text){
if(*text == ch){
co