62,039
社区成员
发帖
与我相关
我的任务
分享
string str = "aa你好bbb123";
//索引从0开始
var index =Regex.Match(str, @"[\u4e00-\u9fa5](?=[^\u4e00-\u9fa5]*?$)").Index;//3
static void Main(string[] args)
{
var str = "asdfs呵呵d零,f";
Console.WriteLine(GetLastChinese(str));
Console.ReadLine();
}
static char GetLastChinese(string str)
{
for (var i = str.Length - 1; i >= 0; i--)
{
if ((str[i] >= 0x4e00) && (str[i] <= 0x9fbb))
{
return str[i];
}
}
throw new Exception("没有汉字!");
}
string text = "字符,串。最ab后c一个中文的位置1234";
char[] c = text.ToCharArray();
int index = -1;
for (int i = 0; i < text.Length; i++)
{
if (c[i] >= 0x4e00 && c[i] <= 0x9fbb)
index = i;
}
Console.WriteLine(index);
@"[\u4e00-\u9fa5] "
正则匹配,然后从右往左匹配,匹配的第一个就是你要的最后一个中文