2016-07-01 46 views
1

蔭使得該同步到DB程序後的字符串,它需要在名字中,所以我想分裂字符串被解析成兩個字符串的最後一個「空間」之後。分裂的最後空間

例如分裂名「李四傑克遜」到: 李四和傑克遜

到目前爲止,香港專業教育學院做了什麼我得到的名字:

public static string getLastName(string fullname) 
{ 
    string lastName = fullname.Split(' ').LastOrDefault(); 
} 

如何返回字符串的其餘部分,所以我有這樣的事:

姓:李四

名字:傑克遜


編輯:做它像這樣做到了,心不是最乾淨的方式,但它幹得不錯!

 public static string getLastName(string fullname) 
    { 
     string lastName = fullname.Split(' ').LastOrDefault(); 
     Console.WriteLine(lastName); 
     return lastName; 
    } 

    public static string getFirstName(string fullname) 
    { 
     var parts = fullname.Split(' '); 
     var lastName = parts.LastOrDefault(); 
     var firstName = string.Join(" ", parts.Take(parts.Length - 1)); 
     return firstName; 
    } 

回答

4

你可以嘗試這樣的事:

var parts = fullname.Split(' '); 
var lastName = parts.LastOrDefault(); 
var firstName = string.Join(" ",parts.Take(parts.Length-1)); 
1

您可以使用string.Join

public static string getFirstName(string fullname) 
{ 
    return string.join(" ",fullname.Split(' ').Take(fullname.Split(' ').Count()-1)); 

} 
3

我會怎麼做:

var lastSpaceIndex = fullName.LastIndexOf(' '); 
var firstName = fullName.Substring(0, lastSpaceIndex); 
var lastName = fullName.Substring(lastSpaceIndex+1); 

See it in action here

0
string name = "John Doe Jackson"; 
var names = name.Split(' '); 
string firstname = names[0] + " " + names[1]; 
string lastname = names[2];