如何分隔长度未知的字符串?

时间:2015-03-27 16:24:44

标签: c# string substring

我正在根据用户输入的名称编写一个具有不同输出的程序。输出的格式由第一个字母决定,其余的名称在排除第一个字母时使用。基本上我如何创建一个子字符串,所以它遵循这样的东西?

 Console.WriteLine("What name would you like to use?(please enter in lower case)");
        name = Console.ReadLine();
        namelength = name.Length;
        letter = name.Substring(0);
        restofname = name.Substring(1, namelength);

3 个答案:

答案 0 :(得分:1)

你可以这样做:

Console.WriteLine("What name would you like to use?(please enter in lower case)");
    name = Console.ReadLine();
    letter = name.Substring(0, 1);
    restofname = name.Substring(1);

答案 1 :(得分:0)

希望这会有所帮助:

   Console.WriteLine("What name would you like to use?(please enter in lower case)");
    string name = Console.ReadLine();
    string letter = name.Length > 0 ? name.Substring(0, 1): string.Empty;       
    string restofname = string.IsNullOrEmpty(letter) ? string.Empty : name.Substring(1);
    Console.WriteLine(restofname);

答案 2 :(得分:-1)

String是字符数组,因此您可以使用索引

访问它
char letter = name[0];

但你应该检查字符串的长度是否大于0,或者是否为空,所以你的代码应该是这样的

if(!string.IsNullOrEmpty(name) && name.Length>1)
{
   char letter = name[0];
   ......   
}

我使用了name.Length > 1,因为如果名字是1个字符,而不是你没有名字,或第二部分,第二部分可以像

string restofname = name.Substring(1, name.Length);

如果你得到如上所述的其他名称,那么你不必引入额外的变量,它更容易维护。 :)