一个字符串中有中文也有英文数字,怎么判断哪几个是中文,哪几个是英文?

yzxdc 2010-12-13 04:14:57
一个字符串中有中文也有英文数字,怎么判断哪几个是中文,哪几个是英文?
...全文
226 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bios8086 2010-12-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 qooop 的回复:]

如上,一种方法是正则表达式,另一种方法是ASCII码,就用正则吧。
[/Quote]
-------------
请问是不是正则 的速度快些?
qooop 2010-12-13
  • 打赏
  • 举报
回复
如上,一种方法是正则表达式,另一种方法是ASCII码,就用正则吧。
Mr-Jee 2010-12-13
  • 打赏
  • 举报
回复
       string temp = "我是发牢骚的看法较为了房间10234sdfjlkwefl未来房价是登录";
Match m = Regex.Match(temp, "(?i)((?<english>[a-z0-9])|(?<chinese>[^a-z0-9]))+");
for (int i = 0; i < m.Groups["english"].Captures.Count; i++)
{
Console.WriteLine(m.Groups["english"].Captures[i].Value);
}
for (int j = 0; j < m.Groups["chinese"].Captures.Count; j++)
{
Console.WriteLine(m.Groups["chinese"].Captures[j].Value);
}
wuyq11 2010-12-13
  • 打赏
  • 举报
回复
匹配中文:[\u4e00-\u9fa5]
英文字母:[a-zA-Z]
Regex reg = new Regex( "^[\u4e00-\u9fa5]+$ ");
if(reg.IsMatch("")){}
maguoqiang 2010-12-13
  • 打赏
  • 举报
回复
根据字符的ascii码来判断
nhl_7 2010-12-13
  • 打赏
  • 举报
回复
Regex regc = new Regex("^[\u4e00-\u9fa5]{1}$");
Regex rege = new Regex("^[a-zA-Z]{1}$");
对不起,创建实例的时候弄错了,应该是这样
nhl_7 2010-12-13
  • 打赏
  • 举报
回复
using System.Text.RegularExpressions;
Regex regc = new Regex("/^[\u4e00-\u9fa5]{1}$/");
Regex rege = new Regex("/^[a-zA-Z]{1}$/");
if(regc.IsMatch(str)){
//中文
}else if(rege.IsMatch(str){
//英文
}
yzxdc 2010-12-13
  • 打赏
  • 举报
回复
楼上的看不懂,能说明白点么?
不懂装懂 2010-12-13
  • 打赏
  • 举报
回复
中文:[\u4e00-\u9fa5]
英文:[a-zA-Z]

111,111

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧