当字符串包含“AA”时,IndexOf 错误

发布于 2024-11-29 19:10:55 字数 854 浏览 1 评论 0原文

我遇到了一个奇怪的问题。我有一个字符串,其值包含 'AA'。 我试图找到第一个符合 AIndexOf 。当我询问字符串是否包含(“A”)时,它返回true。当使用 IndexOf("A") 时,我不断获得默认值 -1(见下面的图片)

在此处输入图像描述

到目前为止,我测试只有一个问题与“A”和“a”。 当在字符串中放入 3 个 a 时,我得到数字 3 的索引,就好像前两个不存在一样。

在此处输入图像描述

当向字符串添加额外的 a 时,我得到默认值 -又1。

在此处输入图像描述

我不知道是什么原因造成的,我怀疑它以某种方式与某些语言设置有关。我来自丹麦,字母 aa 的使用是 å 的同义词。

有其他人经历过类似的问题或有如何避免它的建议吗?

系统信息:

Windows 7 Ultimate(英文)

Visual Studio 10 Premium

I've run into a strange problem. I have a string with a value containing 'AA'.
I'm trying to find IndexOf the first accouring A. When I ask if the string Contains("A") it returns true. When using IndexOf("A") I keeps getting the default value -1! (se the picture below)

enter image description here

So far i tested there is only a problem with 'A' and 'a'.
When putting 3 a's in the string I get the index of number 3, as if the first two doesn't exsist.

enter image description here

When adding an extra a to the string, I get the default value -1 again.

enter image description here

I don't know what is causing this, I have a suspision that it's somehow connected to some langauge setting. I'm from denmark, and the use of the letters aa is a synonym for å.

Have anyone else experinced a simular problem or have a suggestion how to avoid it?

System information:

Windows 7 Ultimate (English)

Visual Studio 10 Premium

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花桑 2024-12-06 19:10:55

如果区域性是 da-DK,则“aa”将作为实体处理。这个问题有点重复,请参阅丹麦语文本的 String StartsWith() 问题

'aa' is handled as an entity if the culture is da-DK. The question is sort of a duplicate, see String StartsWith() issue with Danish text.

魔法少女 2024-12-06 19:10:55

嗯,我现在也尝试过同样的方法。它有效...

    static void XYZ()
    {
        string a = "aaa";
        string b = "AAA";

        if(a.Contains("a"))
        {
            Console.WriteLine(a.IndexOf("a"));
        }
        if(b.Contains("A"))
        {
            Console.WriteLine(b.IndexOf("A"));
        }
    }

但是搜索“aa”和“AA”不是最好的吗?我会说丹麦语,而且我知道也有单 a ;-)

Hmmm I have tried the same now. It works...

    static void XYZ()
    {
        string a = "aaa";
        string b = "AAA";

        if(a.Contains("a"))
        {
            Console.WriteLine(a.IndexOf("a"));
        }
        if(b.Contains("A"))
        {
            Console.WriteLine(b.IndexOf("A"));
        }
    }

But wouldn't it be the best to seach for a "aa" and "AA"? I can speak danish and I know that there are single a's too ;-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文