前端基础-匹配中文(utf-8编码)

第5章 匹配中文(utf-8编码)

每个字符(中文、英文字母、数字、各种符号、拉丁文、韩文、日文等)都对应着一个Unicode编码。

查看Unicode编码,找到中文的部分,然后获取中文的Unicode编码的区间,就可以用正则匹配了。

前面我们用[a-z]表示小写字母,[0-9]表示数字,这就是一个范围表示,如果有一个数x能够表示第一个中文,有一个数y能够表示最后一个中文,那么[x-y]就可以表示所有的中文了。

中文的Unicode编码从4E00开始,到9FA5结束。

[\u4E00-\u9FA5]这个区间就能够表示中文。

完整的Unicode编码表http://blog.csdn.net/hherima/article/details/9045861

	var str = "你好,世界";
	var res = str.match(/[\u4E00-\u9FA5]/g);
	console.log(res);//["你", "好", "世", "界"]

案例二

解决结巴程序

把“今今今天晚晚晚晚晚晚上吃吃吃吃吃吃鸡”字符串换成单字的形式,即“今天晚上吃鸡”;

核心思想:匹配到重复的字符时,保留一个。

	var str = "今今今天晚晚晚晚晚晚上吃吃吃吃吃吃鸡";
	//今天晚上吃鸡
	var res = str.replace(/([\u4E00-\u9FA5])\1+/g, '$1');
	console.log(res);
发布了1797 篇原创文章 · 获赞 1919 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/weixin_42528266/article/details/105114946
今日推荐