C语言实现英文句子单词提取并分离

该博客展示了如何使用C语言编写函数,从英文句子中提取并分离单词。通过isdelimeter函数判断分隔符,get_token函数则用于获取单词,最后在main函数中遍历句子并打印所有单词。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言实现英文句子单词提取并分离

将英文句子中的所有单词分离出来并输出

分隔符判断函数

static int isdelimeter(char *di, char ch) {
	while (*di) {
		if (ch == *di)
			return 1;
		else
			di++;
	}
	return 0;
}

提取单词函数

char *get_token(const char *buf, char *di) {
	static int pos = 0;
	static char token[80];
	char *temp = NULL;
	if (buf[pos] == '\0')
		return temp;
	temp = token;
	*temp = '\0';
	//是分隔符跳过
	while (buf[pos] != '\0' && isdelimeter(di, buf[pos]))
		pos++;
	//不是分隔符处理
	while (buf[pos] != '\0' && !isdelimeter(di, buf[pos])){
		*temp = buf[pos];
		pos++;
		temp++;
	}
	*temp = '\0';
	if (token[0] == '\0')
		return 0;
	else
		return token;
}

main函数

int main()
{
	//单词分离
	char str[] = "I am from China, I love China!";
	char *p;
	int count = 0;
	char di[] = "!, ";//分隔符有“!”、“,”、“ ”(空格)
	while (p=get_token(str, di)){
		printf("%s\n", p);
		count++;
	}
	printf("单词个数 = %d\n", count);
	return 0;
}

输出演示

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值