【问题标题】:How to check if first character of a string is a letter c# [duplicate]如何检查字符串的第一个字符是否是字母c# [重复]
【发布时间】:2014-06-10 09:19:56
【问题描述】:

我需要一些帮助。我必须编写一个程序,您可以在其中使用矩阵进行一些计算。

用户输入应该是例如:A=[1,2,3;4,5,6;7,8,9]

用户最多可以保存 10 个矩阵。用户应该能够编写诸如 A+B 或 C*D 之类的操作

我想检查,如果用户输入的第一个字符是字母,如果不是,我想给出一个例外。 c# 中是否有一种方法可以检查第一个字符是否为字母。我想将字母保存到一个字符串数组中,这样我就可以将矩阵的名称引用到包含矩阵的 int [,] 中。这是我的代码的 sn-p:

int i = 0;
int[][,] ArrayContainer = new int[10][,];
int rowcount;
int columncount;

while (i < 10)
{
    string input = Console.ReadLine();
    string trimedinput; 

    if (input.Contains(" "))
    {
        trimedinput = input.Replace(" ", string.Empty);
    }
    else if (input == String.Empty)
    {
        break;
    }
    else if(!input.Contains("="))
    {
        Console.WriteLine("The definition of your matrix is not correct. Please     type in 'help' if you need help.");
        continue;
    }
    else
    {
        trimedinput = input;
    }
}

感谢您的帮助!

【问题讨论】:

  • 这里如何定义“字母”? a-z/A-Z? unicode呢? \p{L} 的正则表达式检查会起作用吗? char.IsLetter ?或者只是(str[0] &gt;= 'a' &amp;&amp; str[0] &lt;= 'z') || (str[0] &gt;= 'A' &amp;&amp; str[0] &lt;= 'Z')

标签: c# string matrix console-application


【解决方案1】:

您可以使用 Char.IsLetter 如下所示:-

例如:-

string str = " I am a string";
bool isLetter = !String.IsNullOrEmpty(str) && Char.IsLetter(str[0]);

更多信息:-

http://msdn.microsoft.com/en-us/library/system.char.isletter.aspx

【讨论】:

  • 谢谢!帮了我很多!太好了!
【解决方案2】:

你可以使用char.IsLetter():

string foo = "Hello world";
bool isLetter = char.IsLetter(foo, 0);

【讨论】:

    【解决方案3】:

    使用Char.IsLetter

    bool isLetter = Char.IsLetter(str[0]);
    

    【讨论】:

      【解决方案4】:

      你可以使用Char类型的IsLetter方法。

      例如,如果您有一个名为 test 的字符串,并且您想检查它的第一个字符是否是字母,您可以像下面这样检查:

      bool isLetter = Char.IsLetter(test[0])
      

      如需更多文档,请查看here

      【讨论】:

        猜你喜欢
        • 2011-04-03
        • 2020-07-15
        • 1970-01-01
        • 1970-01-01
        • 2012-11-24
        • 1970-01-01
        • 1970-01-01
        • 2015-05-16
        相关资源
        最近更新 更多