如何取字符串中最后一个中文的位置

anythingBlank 2016-10-09 09:56:27

奇葩的需求,日你哥

有大手能指点下吗
...全文
387 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
anythingBlank 2016-10-09
  • 打赏
  • 举报
回复
非常感谢各位大神,加分以示感谢
  • 打赏
  • 举报
回复
 string str = "aa你好bbb123";
            //索引从0开始
            var index =Regex.Match(str, @"[\u4e00-\u9fa5](?=[^\u4e00-\u9fa5]*?$)").Index;//3
跳动de指尖 2016-10-09
  • 打赏
  • 举报
回复
引用 4 楼 pengqian098 的回复:
用unicode编码判断,范围事4e00哒o9fbb

        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("没有汉字!");
        }
位置的话,return i
跳动de指尖 2016-10-09
  • 打赏
  • 举报
回复
用unicode编码判断,范围事4e00哒o9fbb

        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("没有汉字!");
        }
雷诺兹 2016-10-09
  • 打赏
  • 举报
回复
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);
  • 打赏
  • 举报
回复
好像你要的是位置?那就在正则匹配到文字的基础上,再用LastIndexOf来获取位置
  • 打赏
  • 举报
回复
@"[\u4e00-\u9fa5] "
正则匹配,然后从右往左匹配,匹配的第一个就是你要的最后一个中文

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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