我的代码在这里代表所有小写字母和大写字母的计数,但是我在计算所有其他字符时遇到了麻烦。 其他字符由空格和符号组成,例如'!@ $ ^%$'。 任何不是小写或大写的东西都是指其他。

但是,我的问题是我的另一个正在计算大写字母,而我似乎无法解决这些代码。

我不知道我要去哪里错了,所以我们将不胜感激,谢谢!

Console.WriteLine("Enter a sentence: ");
string sentence = Console.ReadLine();
int countUpper = 0, countLower=0, countOther=0, i;



        for (i = 0; i < sentence.Length;i++ )
        {
            if (char.IsUpper(sentence[i])) countUpper++;
            if (char.IsLower(sentence[i])) countLower++;
            if (!(char.IsLower(sentence[i]) || (!(char.IsUpper(sentence[i]))))) countOther++;

        }
        Console.WriteLine("Lower: " + countLower);
        Console.WriteLine("Upper: " + countUpper);
        Console.WriteLine("Other: " + countOther);

#1楼 票数:5

尝试使用if / else if / else代替:

Console.WriteLine("Enter a sentence: ");
string sentence = Console.ReadLine();
int countUpper = 0, countLower=0, countOther=0, i;



        for (i = 0; i < sentence.Length;i++ )
        {
            if (char.IsUpper(sentence[i])) countUpper++;
            else if (char.IsLower(sentence[i])) countLower++;
            else countOther++;

        }
        Console.WriteLine("Lower: " + countLower);
        Console.WriteLine("Upper: " + countUpper);
        Console.WriteLine("Other: " + countOther);

#2楼 票数:1

要计算特定字符,可以使用简单的Regex代替按字符分析char:

string sentence = "testTESTING@,";
int countLower = Regex.Matches(sentence, @"\p{Ll}").Count;
int countUpper = Regex.Matches(sentence, @"\p{Lu}").Count;
int countOther = Regex.Matches(sentence, @"\W").Count;

// \p{category} - In that Unicode category
// category = Lu - Letter, uppercase
// category = Ll - letter, lowercase
// \W = non word character

可以从http://www.microsoft.com/zh-cn/download/details.aspx?id=43119下载简单的规范“ .Net框架正则表达式快速参考”

#3楼 票数:-1

我认为countOther只是string.Length - countUpper - countLower

  ask by juiceb0xk translate from so

未解决问题?本站智能推荐:

3回复

如何在表单中制作所有按钮以使其文本变为大写/小写?

是否可以将表单中按钮的所有文本都设为大写/小写?
1回复

如何检查字符和/或字符串是大写还是小写

如何检查 c# 中的char是大写还是小写,以及string每个字母是大写还是小写?
1回复

如何同时验证小写和大写输入?

我有一个winform应用程序,我想知道用于验证字符串搜索比较的小写和大写输入的c#代码是什么。谢谢。
4回复

将字符串的所有字符转换为大写,除了某些特定的字符

我试图防止某些字符变为大写,而所有其他字符必须变为大写。 例如,如果我在文本框中写了一些东西,它会自动将所有字符写成大写,但是每次我输入字母“ k”时,它都必须用小写。 有谁知道实现这一目标的方法吗?
2回复

如何使字符串中每个单词的第一个或最后一个字母小写[关闭]

已关闭 。 这个问题需要更加集中。 它当前不接受答案。 了解更多 。 想改善这个问题吗?
3回复

在 C# 中将字符串从数字 0-9 增加到小写 az 到大写 AZ

我希望能够有一个以 '000000' 开头的 6 个字符长的字符串。 然后我想在我点击 9 时将它增加 1 '000001' 我想在到达 z 时转到 '00000a' 我想转到 '00000A'。 当到达“Z”时,我想将第一个重置为 0,然后从下一个位置“000010”开始,依此类推。 '0000
2回复

小写和大写交替c#

我需要将短语词转换为大写和小写连续(交替)。 例。 输入: the girl is pretty. 输出: tHe GiRl Is PrEtTy 我试过下面的代码,但它只能转换第一个字母: 谢谢
1回复

大写小写SAMBA文件创建

无论如何,在区分大小写的SAMBA驱动器中,使用C#.Net 2 framewort创建两个大小写不同的文件吗? 例如: myFile.txt MyFile.txt 这是SAMBA配置: smb.conf 谢谢!!!